//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

// The tests in this file are GENERATED. Don't add tests to this file manually; instead, modify
// ArrayCheckHoist_Generate.js and regenerate this file, or use a different file for the new test.

var bailout = !this.WScript || this.WScript.Arguments[0] === "bailout";

function test0() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test0_run(o, a, a2));

    function test0_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test0: " + test0());

function test1() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test1_run(o, a, a2));

    function test1_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1].p;
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test1: " + test1());

function test2() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test2_run(o, a, a2));

    function test2_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0].p;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test2: " + test2());

function test3() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test3_run(o, a, a2));

    function test3_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test3_access(o, a, i3);
                    }
                }
            }
            sum += test3_access(o, a, i0);
        }

        function test3_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test3: " + test3());

function test4() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test4_run(o, a, a2));

    function test4_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[0].p;
                }
                sum += a[0].p;
            }
        }
        return sum;
    }
}
echo("test4: " + test4());

function test5() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test5_run(o, a, a2));

    function test5_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test5: " + test5());

function test6() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test6_run(o, a, a2));

    function test6_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test6_access(o, a, i0);
        }

        function test6_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test6: " + test6());

function test7() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test7_run(o, a, a2));

    function test7_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test7_access(o, a, i1);
            }
            a = a2;
            sum += test7_access(o, a, i0);
        }

        function test7_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test7: " + test7());

function test8() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test8_run(o, a, a2));

    function test8_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[i1].p;
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test8: " + test8());

function test9() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test9_run(o, a, a2));

    function test9_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1].p;
            }
            a = a2;
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test9: " + test9());

function test10() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test10_run(o, a, a2));

    function test10_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[-1].p;
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test10: " + test10());

function test11() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test11_run(o, a, a2));

    function test11_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1].p;
                    }
                }
            }
            a = a2;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test11: " + test11());

function test12() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test12_run(o, a, a2));

    function test12_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test12_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test12_access(o, a, i0);
        }

        function test12_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test12: " + test12());

function test13() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test13_run(o, a, a2));

    function test13_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test13_access(o, a, i3);
                    }
                }
            }
            sum += test13_access(o, a, i0);
        }

        function test13_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test13: " + test13());

function test14() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test14_run(o, a, a2));

    function test14_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test14_access(o, a, i2);
                }
                sum += test14_access(o, a, i1);
            }
            a = a2;
        }

        function test14_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test14: " + test14());

function test15() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test15_run(o, a, a2));

    function test15_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test15_access(o, a, i2);
                }
                a = a2;
                sum += test15_access(o, a, i1);
            }
        }

        function test15_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test15: " + test15());

function test16() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test16_run(o, a, a2));

    function test16_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[-1].p;
                }
                sum += a[-1].p;
            }
        }
        return sum;
    }
}
echo("test16: " + test16());

function test17() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test17_run(o, a, a2));

    function test17_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1].p;
                    }
                }
            }
            a = a2;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test17: " + test17());

function test18() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test18_run(o, a, a2));

    function test18_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0].p;
                    }
                }
                a = a2;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test18: " + test18());

function test19() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test19_run(o, a, a2));

    function test19_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[0].p;
                    }
                }
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test19: " + test19());

function test20() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test20_run(o, a, a2));

    function test20_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test20_access(o, a, i0);
        }

        function test20_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test20: " + test20());

function test21() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test21_run(o, a, a2));

    function test21_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test21_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test21_access(o, a, i0);
        }

        function test21_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test21: " + test21());

function test22() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test22_run(o, a, a2));

    function test22_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test22_access(o, a, i1);
            }
            sum += test22_access(o, a, i0);
        }

        function test22_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test22: " + test22());

function test23() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test23_run(o, a, a2));

    function test23_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test23_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test23_access(o, a, i0);
        }

        function test23_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test23: " + test23());

function test24() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test24_run(o, a, a2));

    function test24_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += a[0].p;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test24: " + test24());

function test25() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test25_run(o, a, a2));

    function test25_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0].p;
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test25: " + test25());

function test26() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test26_run(o, a, a2));

    function test26_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test26: " + test26());

function test27() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test27_run(o, a, a2));

    function test27_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test27: " + test27());

function test28() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test28_run(o, a, a2));

    function test28_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test28_access(o, a, i2);
                }
                sum += test28_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test28_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test28: " + test28());

function test29() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test29_run(o, a, a2));

    function test29_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test29_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test29_access(o, a, i1);
            }
        }

        function test29_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test29: " + test29());

function test30() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test30_run(o, a, a2));

    function test30_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test30_access(o, a, i2);
                }
                sum += test30_access(o, a, i1);
            }
        }

        function test30_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test30: " + test30());

function test31() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test31_run(o, a, a2));

    function test31_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test31_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test31_access(o, a, i0);
        }

        function test31_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test31: " + test31());

function test32() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test32_run(o, a, a2));

    function test32_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test32: " + test32());

function test33() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test33_run(o, a, a2));

    function test33_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test33: " + test33());

function test34() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test34_run(o, a, a2));

    function test34_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test34: " + test34());

function test35() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test35_run(o, a, a2));

    function test35_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1].p;
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test35: " + test35());

function test36() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test36_run(o, a, a2));

    function test36_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test36_access(o, a, i1);
            }
            sum += test36_access(o, a, i0);
        }

        function test36_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test36: " + test36());

function test37() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test37_run(o, a, a2));

    function test37_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test37_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test37_access(o, a, i0);
        }

        function test37_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test37: " + test37());

function test38() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test38_run(o, a, a2));

    function test38_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test38_access(o, a, i1);
            }
            sum += test38_access(o, a, i0);
        }

        function test38_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test38: " + test38());

function test39() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test39_run(o, a, a2));

    function test39_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test39_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test39_access(o, a, i0);
        }

        function test39_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test39: " + test39());

function test40() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test40_run(o, a, a2));

    function test40_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1].p;
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test40: " + test40());

function test41() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test41_run(o, a, a2));

    function test41_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += a[-1].p;
                    }
                }
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test41: " + test41());

function test42() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test42_run(o, a, a2));

    function test42_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[0].p;
                }
                sum += a[0].p;
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test42: " + test42());

function test43() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test43_run(o, a, a2));

    function test43_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[0].p;
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += a[0].p;
            }
        }
        return sum;
    }
}
echo("test43: " + test43());

function test44() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test44_run(o, a, a2));

    function test44_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test44_access(o, a, i2);
                }
                sum += test44_access(o, a, i1);
            }
        }

        function test44_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test44: " + test44());

function test45() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test45_run(o, a, a2));

    function test45_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test45_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test45_access(o, a, i0);
        }

        function test45_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test45: " + test45());

function test46() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test46_run(o, a, a2));

    function test46_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test46_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test46_access(o, a, i0);
        }

        function test46_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test46: " + test46());

function test47() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test47_run(o, a, a2));

    function test47_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test47_access(o, a, i3);
                    }
                }
            }
            sum += test47_access(o, a, i0);
        }

        function test47_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test47: " + test47());

function test48() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test48_run(o, a, a2));

    function test48_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test48: " + test48());

function test49() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test49_run(o, a, a2));

    function test49_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test49: " + test49());

function test50() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test50_run(o, a, a2));

    function test50_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test50: " + test50());

function test51() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test51_run(o, a, a2));

    function test51_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test51_access(o, a, i3);
                    }
                }
            }
            sum += test51_access(o, a, i0);
        }

        function test51_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test51: " + test51());

function test52() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test52_run(o, a, a2));

    function test52_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[i2].p = -a[i2].p - 1, a[i2].p);
                }
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
        }
        return sum;
    }
}
echo("test52: " + test52());

function test53() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test53_run(o, a, a2));

    function test53_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test53: " + test53());

function test54() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test54_run(o, a, a2));

    function test54_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test54_access(o, a, i0);
        }

        function test54_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test54: " + test54());

function test55() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test55_run(o, a, a2));

    function test55_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test55_access(o, a, i1);
            }
            a = a2;
            sum += test55_access(o, a, i0);
        }

        function test55_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test55: " + test55());

function test56() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test56_run(o, a, a2));

    function test56_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test56: " + test56());

function test57() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test57_run(o, a, a2));

    function test57_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
            }
            a = a2;
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test57: " + test57());

function test58() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test58_run(o, a, a2));

    function test58_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test58: " + test58());

function test59() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test59_run(o, a, a2));

    function test59_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
            }
            a = a2;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test59: " + test59());

function test60() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test60_run(o, a, a2));

    function test60_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test60_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test60_access(o, a, i0);
        }

        function test60_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test60: " + test60());

function test61() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test61_run(o, a, a2));

    function test61_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test61_access(o, a, i3);
                    }
                }
            }
            sum += test61_access(o, a, i0);
        }

        function test61_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test61: " + test61());

function test62() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test62_run(o, a, a2));

    function test62_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test62_access(o, a, i2);
                }
                sum += test62_access(o, a, i1);
            }
            a = a2;
        }

        function test62_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test62: " + test62());

function test63() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test63_run(o, a, a2));

    function test63_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test63_access(o, a, i2);
                }
                a = a2;
                sum += test63_access(o, a, i1);
            }
        }

        function test63_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test63: " + test63());

function test64() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test64_run(o, a, a2));

    function test64_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[0].p = -a[0].p - 1, a[0].p);
                }
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
        }
        return sum;
    }
}
echo("test64: " + test64());

function test65() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test65_run(o, a, a2));

    function test65_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
            }
            a = a2;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test65: " + test65());

function test66() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test66_run(o, a, a2));

    function test66_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
                a = a2;
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test66: " + test66());

function test67() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test67_run(o, a, a2));

    function test67_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test67: " + test67());

function test68() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test68_run(o, a, a2));

    function test68_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test68_access(o, a, i0);
        }

        function test68_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test68: " + test68());

function test69() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test69_run(o, a, a2));

    function test69_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test69_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test69_access(o, a, i0);
        }

        function test69_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test69: " + test69());

function test70() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test70_run(o, a, a2));

    function test70_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test70_access(o, a, i1);
            }
            sum += test70_access(o, a, i0);
        }

        function test70_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test70: " + test70());

function test71() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test71_run(o, a, a2));

    function test71_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test71_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test71_access(o, a, i0);
        }

        function test71_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test71: " + test71());

function test72() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test72_run(o, a, a2));

    function test72_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test72: " + test72());

function test73() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test73_run(o, a, a2));

    function test73_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test73: " + test73());

function test74() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test74_run(o, a, a2));

    function test74_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test74: " + test74());

function test75() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test75_run(o, a, a2));

    function test75_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test75: " + test75());

function test76() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test76_run(o, a, a2));

    function test76_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test76_access(o, a, i2);
                }
                sum += test76_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test76_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test76: " + test76());

function test77() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test77_run(o, a, a2));

    function test77_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test77_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test77_access(o, a, i1);
            }
        }

        function test77_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test77: " + test77());

function test78() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test78_run(o, a, a2));

    function test78_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test78_access(o, a, i2);
                }
                sum += test78_access(o, a, i1);
            }
        }

        function test78_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test78: " + test78());

function test79() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test79_run(o, a, a2));

    function test79_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test79_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test79_access(o, a, i0);
        }

        function test79_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test79: " + test79());

function test80() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test80_run(o, a, a2));

    function test80_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test80: " + test80());

function test81() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test81_run(o, a, a2));

    function test81_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test81: " + test81());

function test82() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test82_run(o, a, a2));

    function test82_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test82: " + test82());

function test83() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test83_run(o, a, a2));

    function test83_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test83: " + test83());

function test84() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test84_run(o, a, a2));

    function test84_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test84_access(o, a, i1);
            }
            sum += test84_access(o, a, i0);
        }

        function test84_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test84: " + test84());

function test85() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test85_run(o, a, a2));

    function test85_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test85_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test85_access(o, a, i0);
        }

        function test85_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test85: " + test85());

function test86() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test86_run(o, a, a2));

    function test86_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test86_access(o, a, i1);
            }
            sum += test86_access(o, a, i0);
        }

        function test86_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test86: " + test86());

function test87() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test87_run(o, a, a2));

    function test87_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test87_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test87_access(o, a, i0);
        }

        function test87_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test87: " + test87());

function test88() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test88_run(o, a, a2));

    function test88_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test88: " + test88());

function test89() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test89_run(o, a, a2));

    function test89_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test89: " + test89());

function test90() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test90_run(o, a, a2));

    function test90_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[i2].p = -a[i2].p - 1, a[i2].p);
                }
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test90: " + test90());

function test91() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test91_run(o, a, a2));

    function test91_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[i2].p = -a[i2].p - 1, a[i2].p);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
        }
        return sum;
    }
}
echo("test91: " + test91());

function test92() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test92_run(o, a, a2));

    function test92_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test92_access(o, a, i2);
                }
                sum += test92_access(o, a, i1);
            }
        }

        function test92_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test92: " + test92());

function test93() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test93_run(o, a, a2));

    function test93_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test93_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test93_access(o, a, i0);
        }

        function test93_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test93: " + test93());

function test94() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test94_run(o, a, a2));

    function test94_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test94_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test94_access(o, a, i0);
        }

        function test94_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test94: " + test94());

function test95() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test95_run(o, a, a2));

    function test95_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test95_access(o, a, i3);
                    }
                }
            }
            sum += test95_access(o, a, i0);
        }

        function test95_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test95: " + test95());

function test96() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test96_run(o, a, a2));

    function test96_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test96: " + test96());

function test97() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test97_run(o, a, a2));

    function test97_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1].p;
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test97: " + test97());

function test98() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test98_run(o, a, a2));

    function test98_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1].p;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test98: " + test98());

function test99() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test99_run(o, a, a2));

    function test99_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test99_access(o, a, i3);
                    }
                }
            }
            sum += test99_access(o, a, i0);
        }

        function test99_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test99: " + test99());

function test100() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test100_run(o, a, a2));

    function test100_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[-1].p;
                }
                sum += o.a[-1].p;
            }
        }
        return sum;
    }
}
echo("test100: " + test100());

function test101() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test101_run(o, a, a2));

    function test101_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test101: " + test101());

function test102() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test102_run(o, a, a2));

    function test102_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test102_access(o, a, i0);
        }

        function test102_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test102: " + test102());

function test103() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test103_run(o, a, a2));

    function test103_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test103_access(o, a, i1);
            }
            a = a2;
            sum += test103_access(o, a, i0);
        }

        function test103_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test103: " + test103());

function test104() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test104_run(o, a, a2));

    function test104_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[0].p;
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test104: " + test104());

function test105() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test105_run(o, a, a2));

    function test105_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0].p;
            }
            a = a2;
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test105: " + test105());

function test106() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test106_run(o, a, a2));

    function test106_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[i1].p;
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test106: " + test106());

function test107() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test107_run(o, a, a2));

    function test107_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3].p;
                    }
                }
            }
            a = a2;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test107: " + test107());

function test108() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test108_run(o, a, a2));

    function test108_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test108_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test108_access(o, a, i0);
        }

        function test108_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test108: " + test108());

function test109() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test109_run(o, a, a2));

    function test109_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test109_access(o, a, i3);
                    }
                }
            }
            sum += test109_access(o, a, i0);
        }

        function test109_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test109: " + test109());

function test110() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test110_run(o, a, a2));

    function test110_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test110_access(o, a, i2);
                }
                sum += test110_access(o, a, i1);
            }
            a = a2;
        }

        function test110_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test110: " + test110());

function test111() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test111_run(o, a, a2));

    function test111_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test111_access(o, a, i2);
                }
                a = a2;
                sum += test111_access(o, a, i1);
            }
        }

        function test111_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test111: " + test111());

function test112() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test112_run(o, a, a2));

    function test112_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[i2].p;
                }
                sum += o.a[i1].p;
            }
        }
        return sum;
    }
}
echo("test112: " + test112());

function test113() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test113_run(o, a, a2));

    function test113_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3].p;
                    }
                }
            }
            a = a2;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test113: " + test113());

function test114() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test114_run(o, a, a2));

    function test114_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1].p;
                    }
                }
                a = a2;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test114: " + test114());

function test115() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test115_run(o, a, a2));

    function test115_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[-1].p;
                    }
                }
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test115: " + test115());

function test116() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test116_run(o, a, a2));

    function test116_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test116_access(o, a, i0);
        }

        function test116_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test116: " + test116());

function test117() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test117_run(o, a, a2));

    function test117_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test117_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test117_access(o, a, i0);
        }

        function test117_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test117: " + test117());

function test118() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test118_run(o, a, a2));

    function test118_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test118_access(o, a, i1);
            }
            sum += test118_access(o, a, i0);
        }

        function test118_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test118: " + test118());

function test119() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test119_run(o, a, a2));

    function test119_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test119_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test119_access(o, a, i0);
        }

        function test119_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test119: " + test119());

function test120() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test120_run(o, a, a2));

    function test120_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += o.a[-1].p;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test120: " + test120());

function test121() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test121_run(o, a, a2));

    function test121_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1].p;
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test121: " + test121());

function test122() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test122_run(o, a, a2));

    function test122_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test122: " + test122());

function test123() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test123_run(o, a, a2));

    function test123_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test123: " + test123());

function test124() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test124_run(o, a, a2));

    function test124_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test124_access(o, a, i2);
                }
                sum += test124_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test124_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test124: " + test124());

function test125() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test125_run(o, a, a2));

    function test125_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test125_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test125_access(o, a, i1);
            }
        }

        function test125_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test125: " + test125());

function test126() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test126_run(o, a, a2));

    function test126_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test126_access(o, a, i2);
                }
                sum += test126_access(o, a, i1);
            }
        }

        function test126_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test126: " + test126());

function test127() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test127_run(o, a, a2));

    function test127_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test127_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test127_access(o, a, i0);
        }

        function test127_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test127: " + test127());

function test128() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test128_run(o, a, a2));

    function test128_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test128: " + test128());

function test129() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test129_run(o, a, a2));

    function test129_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test129: " + test129());

function test130() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test130_run(o, a, a2));

    function test130_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test130: " + test130());

function test131() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test131_run(o, a, a2));

    function test131_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1].p;
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test131: " + test131());

function test132() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test132_run(o, a, a2));

    function test132_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test132_access(o, a, i1);
            }
            sum += test132_access(o, a, i0);
        }

        function test132_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test132: " + test132());

function test133() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test133_run(o, a, a2));

    function test133_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test133_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test133_access(o, a, i0);
        }

        function test133_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test133: " + test133());

function test134() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test134_run(o, a, a2));

    function test134_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test134_access(o, a, i1);
            }
            sum += test134_access(o, a, i0);
        }

        function test134_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test134: " + test134());

function test135() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test135_run(o, a, a2));

    function test135_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test135_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test135_access(o, a, i0);
        }

        function test135_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test135: " + test135());

function test136() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test136_run(o, a, a2));

    function test136_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3].p;
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test136: " + test136());

function test137() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test137_run(o, a, a2));

    function test137_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += o.a[i3].p;
                    }
                }
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test137: " + test137());

function test138() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test138_run(o, a, a2));

    function test138_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[-1].p;
                }
                sum += o.a[-1].p;
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test138: " + test138());

function test139() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test139_run(o, a, a2));

    function test139_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[-1].p;
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += o.a[-1].p;
            }
        }
        return sum;
    }
}
echo("test139: " + test139());

function test140() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test140_run(o, a, a2));

    function test140_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test140_access(o, a, i2);
                }
                sum += test140_access(o, a, i1);
            }
        }

        function test140_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test140: " + test140());

function test141() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test141_run(o, a, a2));

    function test141_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test141_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test141_access(o, a, i0);
        }

        function test141_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test141: " + test141());

function test142() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test142_run(o, a, a2));

    function test142_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test142_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test142_access(o, a, i0);
        }

        function test142_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test142: " + test142());

function test143() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test143_run(o, a, a2));

    function test143_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test143_access(o, a, i3);
                    }
                }
            }
            sum += test143_access(o, a, i0);
        }

        function test143_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test143: " + test143());

function test144() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test144_run(o, a, a2));

    function test144_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test144: " + test144());

function test145() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test145_run(o, a, a2));

    function test145_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test145: " + test145());

function test146() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test146_run(o, a, a2));

    function test146_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test146: " + test146());

function test147() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test147_run(o, a, a2));

    function test147_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test147_access(o, a, i3);
                    }
                }
            }
            sum += test147_access(o, a, i0);
        }

        function test147_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test147: " + test147());

function test148() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test148_run(o, a, a2));

    function test148_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                }
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
        }
        return sum;
    }
}
echo("test148: " + test148());

function test149() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test149_run(o, a, a2));

    function test149_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test149: " + test149());

function test150() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test150_run(o, a, a2));

    function test150_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test150_access(o, a, i0);
        }

        function test150_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test150: " + test150());

function test151() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test151_run(o, a, a2));

    function test151_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test151_access(o, a, i1);
            }
            a = a2;
            sum += test151_access(o, a, i0);
        }

        function test151_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test151: " + test151());

function test152() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test152_run(o, a, a2));

    function test152_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[i1].p = -o.a[i1].p - 1, o.a[i1].p);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test152: " + test152());

function test153() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test153_run(o, a, a2));

    function test153_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1].p = -o.a[i1].p - 1, o.a[i1].p);
            }
            a = a2;
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test153: " + test153());

function test154() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test154_run(o, a, a2));

    function test154_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test154: " + test154());

function test155() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test155_run(o, a, a2));

    function test155_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test155: " + test155());

function test156() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test156_run(o, a, a2));

    function test156_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test156_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test156_access(o, a, i0);
        }

        function test156_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test156: " + test156());

function test157() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test157_run(o, a, a2));

    function test157_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test157_access(o, a, i3);
                    }
                }
            }
            sum += test157_access(o, a, i0);
        }

        function test157_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test157: " + test157());

function test158() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test158_run(o, a, a2));

    function test158_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test158_access(o, a, i2);
                }
                sum += test158_access(o, a, i1);
            }
            a = a2;
        }

        function test158_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test158: " + test158());

function test159() {
    "use strict";

    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test159_run(o, a, a2));

    function test159_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test159_access(o, a, i2);
                }
                a = a2;
                sum += test159_access(o, a, i1);
            }
        }

        function test159_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test159: " + test159());

function test160() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test160_run(o, a, a2));

    function test160_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                }
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
        }
        return sum;
    }
}
echo("test160: " + test160());

function test161() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test161_run(o, a, a2));

    function test161_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test161: " + test161());

function test162() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test162_run(o, a, a2));

    function test162_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
                a = a2;
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test162: " + test162());

function test163() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test163_run(o, a, a2));

    function test163_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test163: " + test163());

function test164() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test164_run(o, a, a2));

    function test164_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test164_access(o, a, i0);
        }

        function test164_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test164: " + test164());

function test165() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test165_run(o, a, a2));

    function test165_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test165_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test165_access(o, a, i0);
        }

        function test165_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test165: " + test165());

function test166() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test166_run(o, a, a2));

    function test166_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test166_access(o, a, i1);
            }
            sum += test166_access(o, a, i0);
        }

        function test166_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test166: " + test166());

function test167() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test167_run(o, a, a2));

    function test167_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test167_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test167_access(o, a, i0);
        }

        function test167_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test167: " + test167());

function test168() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test168_run(o, a, a2));

    function test168_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test168: " + test168());

function test169() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test169_run(o, a, a2));

    function test169_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test169: " + test169());

function test170() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test170_run(o, a, a2));

    function test170_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test170: " + test170());

function test171() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test171_run(o, a, a2));

    function test171_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test171: " + test171());

function test172() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test172_run(o, a, a2));

    function test172_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test172_access(o, a, i2);
                }
                sum += test172_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test172_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test172: " + test172());

function test173() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test173_run(o, a, a2));

    function test173_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test173_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test173_access(o, a, i1);
            }
        }

        function test173_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test173: " + test173());

function test174() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test174_run(o, a, a2));

    function test174_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test174_access(o, a, i2);
                }
                sum += test174_access(o, a, i1);
            }
        }

        function test174_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test174: " + test174());

function test175() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test175_run(o, a, a2));

    function test175_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test175_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test175_access(o, a, i0);
        }

        function test175_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test175: " + test175());

function test176() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test176_run(o, a, a2));

    function test176_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test176: " + test176());

function test177() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test177_run(o, a, a2));

    function test177_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test177: " + test177());

function test178() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test178_run(o, a, a2));

    function test178_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test178: " + test178());

function test179() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test179_run(o, a, a2));

    function test179_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test179: " + test179());

function test180() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test180_run(o, a, a2));

    function test180_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test180_access(o, a, i1);
            }
            sum += test180_access(o, a, i0);
        }

        function test180_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test180: " + test180());

function test181() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test181_run(o, a, a2));

    function test181_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test181_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test181_access(o, a, i0);
        }

        function test181_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test181: " + test181());

function test182() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test182_run(o, a, a2));

    function test182_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test182_access(o, a, i1);
            }
            sum += test182_access(o, a, i0);
        }

        function test182_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test182: " + test182());

function test183() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test183_run(o, a, a2));

    function test183_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test183_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test183_access(o, a, i0);
        }

        function test183_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test183: " + test183());

function test184() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test184_run(o, a, a2));

    function test184_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test184: " + test184());

function test185() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test185_run(o, a, a2));

    function test185_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test185: " + test185());

function test186() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test186_run(o, a, a2));

    function test186_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                }
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test186: " + test186());

function test187() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test187_run(o, a, a2));

    function test187_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
        }
        return sum;
    }
}
echo("test187: " + test187());

function test188() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test188_run(o, a, a2));

    function test188_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test188_access(o, a, i2);
                }
                sum += test188_access(o, a, i1);
            }
        }

        function test188_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test188: " + test188());

function test189() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test189_run(o, a, a2));

    function test189_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test189_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test189_access(o, a, i0);
        }

        function test189_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test189: " + test189());

function test190() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test190_run(o, a, a2));

    function test190_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test190_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test190_access(o, a, i0);
        }

        function test190_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test190: " + test190());

function test191() {
    var o = {
        a: { "0": { p: 1 }, "1": { p: 2 }, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -this.a[0].p - 1 } });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test191_run(o, a, a2));

    function test191_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test191_access(o, a, i3);
                    }
                }
            }
            sum += test191_access(o, a, i0);
        }

        function test191_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test191: " + test191());

function test192() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test192_run(o, a, a2));

    function test192_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[0];
        }
        return sum;
    }
}
echo("test192: " + test192());

function test193() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test193_run(o, a, a2));

    function test193_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test193: " + test193());

function test194() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test194_run(o, a, a2));

    function test194_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test194: " + test194());

function test195() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test195_run(o, a, a2));

    function test195_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test195_access(o, a, i3);
                    }
                }
            }
            sum += test195_access(o, a, i0);
        }

        function test195_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test195: " + test195());

function test196() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test196_run(o, a, a2));

    function test196_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[i2];
                }
                sum += a[i1];
            }
        }
        return sum;
    }
}
echo("test196: " + test196());

function test197() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test197_run(o, a, a2));

    function test197_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test197: " + test197());

function test198() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test198_run(o, a, a2));

    function test198_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test198_access(o, a, i0);
        }

        function test198_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test198: " + test198());

function test199() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test199_run(o, a, a2));

    function test199_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test199_access(o, a, i1);
            }
            a = a2;
            sum += test199_access(o, a, i0);
        }

        function test199_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test199: " + test199());

function test200() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test200_run(o, a, a2));

    function test200_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test200: " + test200());

function test201() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test201_run(o, a, a2));

    function test201_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1];
            }
            a = a2;
            sum += a[-1];
        }
        return sum;
    }
}
echo("test201: " + test201());

function test202() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test202_run(o, a, a2));

    function test202_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test202: " + test202());

function test203() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test203_run(o, a, a2));

    function test203_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test203: " + test203());

function test204() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test204_run(o, a, a2));

    function test204_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test204_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test204_access(o, a, i0);
        }

        function test204_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test204: " + test204());

function test205() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test205_run(o, a, a2));

    function test205_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test205_access(o, a, i3);
                    }
                }
            }
            sum += test205_access(o, a, i0);
        }

        function test205_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test205: " + test205());

function test206() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test206_run(o, a, a2));

    function test206_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test206_access(o, a, i2);
                }
                sum += test206_access(o, a, i1);
            }
            a = a2;
        }

        function test206_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test206: " + test206());

function test207() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test207_run(o, a, a2));

    function test207_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test207_access(o, a, i2);
                }
                a = a2;
                sum += test207_access(o, a, i1);
            }
        }

        function test207_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test207: " + test207());

function test208() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test208_run(o, a, a2));

    function test208_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[0];
                }
                sum += a[0];
            }
        }
        return sum;
    }
}
echo("test208: " + test208());

function test209() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test209_run(o, a, a2));

    function test209_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test209: " + test209());

function test210() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test210_run(o, a, a2));

    function test210_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
                a = a2;
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test210: " + test210());

function test211() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test211_run(o, a, a2));

    function test211_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test211: " + test211());

function test212() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test212_run(o, a, a2));

    function test212_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test212_access(o, a, i0);
        }

        function test212_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test212: " + test212());

function test213() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test213_run(o, a, a2));

    function test213_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test213_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test213_access(o, a, i0);
        }

        function test213_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test213: " + test213());

function test214() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test214_run(o, a, a2));

    function test214_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test214_access(o, a, i1);
            }
            sum += test214_access(o, a, i0);
        }

        function test214_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test214: " + test214());

function test215() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test215_run(o, a, a2));

    function test215_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test215_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test215_access(o, a, i0);
        }

        function test215_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test215: " + test215());

function test216() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test216_run(o, a, a2));

    function test216_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test216: " + test216());

function test217() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test217_run(o, a, a2));

    function test217_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += a[i0];
        }
        return sum;
    }
}
echo("test217: " + test217());

function test218() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test218_run(o, a, a2));

    function test218_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test218: " + test218());

function test219() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test219_run(o, a, a2));

    function test219_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test219: " + test219());

function test220() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test220_run(o, a, a2));

    function test220_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test220_access(o, a, i2);
                }
                sum += test220_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test220_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test220: " + test220());

function test221() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test221_run(o, a, a2));

    function test221_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test221_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test221_access(o, a, i1);
            }
        }

        function test221_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test221: " + test221());

function test222() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test222_run(o, a, a2));

    function test222_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test222_access(o, a, i2);
                }
                sum += test222_access(o, a, i1);
            }
        }

        function test222_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test222: " + test222());

function test223() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test223_run(o, a, a2));

    function test223_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test223_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test223_access(o, a, i0);
        }

        function test223_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test223: " + test223());

function test224() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test224_run(o, a, a2));

    function test224_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test224: " + test224());

function test225() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test225_run(o, a, a2));

    function test225_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test225: " + test225());

function test226() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test226_run(o, a, a2));

    function test226_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[0];
        }
        return sum;
    }
}
echo("test226: " + test226());

function test227() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test227_run(o, a, a2));

    function test227_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[0];
        }
        return sum;
    }
}
echo("test227: " + test227());

function test228() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test228_run(o, a, a2));

    function test228_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test228_access(o, a, i1);
            }
            sum += test228_access(o, a, i0);
        }

        function test228_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test228: " + test228());

function test229() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test229_run(o, a, a2));

    function test229_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test229_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test229_access(o, a, i0);
        }

        function test229_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test229: " + test229());

function test230() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test230_run(o, a, a2));

    function test230_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test230_access(o, a, i1);
            }
            sum += test230_access(o, a, i0);
        }

        function test230_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test230: " + test230());

function test231() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test231_run(o, a, a2));

    function test231_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test231_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test231_access(o, a, i0);
        }

        function test231_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test231: " + test231());

function test232() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test232_run(o, a, a2));

    function test232_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test232: " + test232());

function test233() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test233_run(o, a, a2));

    function test233_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test233: " + test233());

function test234() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test234_run(o, a, a2));

    function test234_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[i2];
                }
                sum += a[i1];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test234: " + test234());

function test235() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test235_run(o, a, a2));

    function test235_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[i2];
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += a[i1];
            }
        }
        return sum;
    }
}
echo("test235: " + test235());

function test236() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test236_run(o, a, a2));

    function test236_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test236_access(o, a, i2);
                }
                sum += test236_access(o, a, i1);
            }
        }

        function test236_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test236: " + test236());

function test237() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test237_run(o, a, a2));

    function test237_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test237_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test237_access(o, a, i0);
        }

        function test237_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test237: " + test237());

function test238() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test238_run(o, a, a2));

    function test238_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test238_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test238_access(o, a, i0);
        }

        function test238_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test238: " + test238());

function test239() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test239_run(o, a, a2));

    function test239_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test239_access(o, a, i3);
                    }
                }
            }
            sum += test239_access(o, a, i0);
        }

        function test239_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test239: " + test239());

function test240() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test240_run(o, a, a2));

    function test240_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test240: " + test240());

function test241() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test241_run(o, a, a2));

    function test241_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test241: " + test241());

function test242() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test242_run(o, a, a2));

    function test242_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test242: " + test242());

function test243() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test243_run(o, a, a2));

    function test243_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test243_access(o, a, i3);
                    }
                }
            }
            sum += test243_access(o, a, i0);
        }

        function test243_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test243: " + test243());

function test244() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test244_run(o, a, a2));

    function test244_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
        }
        return sum;
    }
}
echo("test244: " + test244());

function test245() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test245_run(o, a, a2));

    function test245_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test245: " + test245());

function test246() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test246_run(o, a, a2));

    function test246_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test246_access(o, a, i0);
        }

        function test246_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test246: " + test246());

function test247() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test247_run(o, a, a2));

    function test247_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test247_access(o, a, i1);
            }
            a = a2;
            sum += test247_access(o, a, i0);
        }

        function test247_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test247: " + test247());

function test248() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test248_run(o, a, a2));

    function test248_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test248: " + test248());

function test249() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test249_run(o, a, a2));

    function test249_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            a = a2;
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test249: " + test249());

function test250() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test250_run(o, a, a2));

    function test250_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test250: " + test250());

function test251() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test251_run(o, a, a2));

    function test251_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test251: " + test251());

function test252() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test252_run(o, a, a2));

    function test252_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test252_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test252_access(o, a, i0);
        }

        function test252_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test252: " + test252());

function test253() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test253_run(o, a, a2));

    function test253_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test253_access(o, a, i3);
                    }
                }
            }
            sum += test253_access(o, a, i0);
        }

        function test253_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test253: " + test253());

function test254() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test254_run(o, a, a2));

    function test254_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test254_access(o, a, i2);
                }
                sum += test254_access(o, a, i1);
            }
            a = a2;
        }

        function test254_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test254: " + test254());

function test255() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test255_run(o, a, a2));

    function test255_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test255_access(o, a, i2);
                }
                a = a2;
                sum += test255_access(o, a, i1);
            }
        }

        function test255_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test255: " + test255());

function test256() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test256_run(o, a, a2));

    function test256_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[i2] = -a[i2] - 1, a[i2]);
                }
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
        }
        return sum;
    }
}
echo("test256: " + test256());

function test257() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test257_run(o, a, a2));

    function test257_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test257: " + test257());

function test258() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test258_run(o, a, a2));

    function test258_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
                a = a2;
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test258: " + test258());

function test259() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test259_run(o, a, a2));

    function test259_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test259: " + test259());

function test260() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test260_run(o, a, a2));

    function test260_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test260_access(o, a, i0);
        }

        function test260_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test260: " + test260());

function test261() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test261_run(o, a, a2));

    function test261_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test261_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test261_access(o, a, i0);
        }

        function test261_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test261: " + test261());

function test262() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test262_run(o, a, a2));

    function test262_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test262_access(o, a, i1);
            }
            sum += test262_access(o, a, i0);
        }

        function test262_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test262: " + test262());

function test263() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test263_run(o, a, a2));

    function test263_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test263_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test263_access(o, a, i0);
        }

        function test263_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test263: " + test263());

function test264() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test264_run(o, a, a2));

    function test264_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test264: " + test264());

function test265() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test265_run(o, a, a2));

    function test265_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test265: " + test265());

function test266() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test266_run(o, a, a2));

    function test266_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test266: " + test266());

function test267() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test267_run(o, a, a2));

    function test267_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test267: " + test267());

function test268() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test268_run(o, a, a2));

    function test268_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test268_access(o, a, i2);
                }
                sum += test268_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test268_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test268: " + test268());

function test269() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test269_run(o, a, a2));

    function test269_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test269_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test269_access(o, a, i1);
            }
        }

        function test269_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test269: " + test269());

function test270() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test270_run(o, a, a2));

    function test270_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test270_access(o, a, i2);
                }
                sum += test270_access(o, a, i1);
            }
        }

        function test270_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test270: " + test270());

function test271() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test271_run(o, a, a2));

    function test271_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test271_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test271_access(o, a, i0);
        }

        function test271_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test271: " + test271());

function test272() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test272_run(o, a, a2));

    function test272_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test272: " + test272());

function test273() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test273_run(o, a, a2));

    function test273_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test273: " + test273());

function test274() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test274_run(o, a, a2));

    function test274_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test274: " + test274());

function test275() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test275_run(o, a, a2));

    function test275_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test275: " + test275());

function test276() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test276_run(o, a, a2));

    function test276_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test276_access(o, a, i1);
            }
            sum += test276_access(o, a, i0);
        }

        function test276_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test276: " + test276());

function test277() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test277_run(o, a, a2));

    function test277_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test277_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test277_access(o, a, i0);
        }

        function test277_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test277: " + test277());

function test278() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test278_run(o, a, a2));

    function test278_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test278_access(o, a, i1);
            }
            sum += test278_access(o, a, i0);
        }

        function test278_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test278: " + test278());

function test279() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test279_run(o, a, a2));

    function test279_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test279_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test279_access(o, a, i0);
        }

        function test279_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test279: " + test279());

function test280() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test280_run(o, a, a2));

    function test280_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test280: " + test280());

function test281() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test281_run(o, a, a2));

    function test281_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test281: " + test281());

function test282() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test282_run(o, a, a2));

    function test282_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test282: " + test282());

function test283() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test283_run(o, a, a2));

    function test283_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
        }
        return sum;
    }
}
echo("test283: " + test283());

function test284() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test284_run(o, a, a2));

    function test284_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test284_access(o, a, i2);
                }
                sum += test284_access(o, a, i1);
            }
        }

        function test284_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test284: " + test284());

function test285() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test285_run(o, a, a2));

    function test285_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test285_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test285_access(o, a, i0);
        }

        function test285_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test285: " + test285());

function test286() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test286_run(o, a, a2));

    function test286_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test286_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test286_access(o, a, i0);
        }

        function test286_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test286: " + test286());

function test287() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test287_run(o, a, a2));

    function test287_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test287_access(o, a, i3);
                    }
                }
            }
            sum += test287_access(o, a, i0);
        }

        function test287_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test287: " + test287());

function test288() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test288_run(o, a, a2));

    function test288_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test288: " + test288());

function test289() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test289_run(o, a, a2));

    function test289_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test289: " + test289());

function test290() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test290_run(o, a, a2));

    function test290_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test290: " + test290());

function test291() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test291_run(o, a, a2));

    function test291_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test291_access(o, a, i3);
                    }
                }
            }
            sum += test291_access(o, a, i0);
        }

        function test291_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test291: " + test291());

function test292() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test292_run(o, a, a2));

    function test292_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[0];
                }
                sum += o.a[0];
            }
        }
        return sum;
    }
}
echo("test292: " + test292());

function test293() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test293_run(o, a, a2));

    function test293_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test293: " + test293());

function test294() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test294_run(o, a, a2));

    function test294_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test294_access(o, a, i0);
        }

        function test294_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test294: " + test294());

function test295() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test295_run(o, a, a2));

    function test295_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test295_access(o, a, i1);
            }
            a = a2;
            sum += test295_access(o, a, i0);
        }

        function test295_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test295: " + test295());

function test296() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test296_run(o, a, a2));

    function test296_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test296: " + test296());

function test297() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test297_run(o, a, a2));

    function test297_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1];
            }
            a = a2;
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test297: " + test297());

function test298() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test298_run(o, a, a2));

    function test298_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test298: " + test298());

function test299() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test299_run(o, a, a2));

    function test299_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test299: " + test299());

function test300() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test300_run(o, a, a2));

    function test300_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test300_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test300_access(o, a, i0);
        }

        function test300_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test300: " + test300());

function test301() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test301_run(o, a, a2));

    function test301_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test301_access(o, a, i3);
                    }
                }
            }
            sum += test301_access(o, a, i0);
        }

        function test301_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test301: " + test301());

function test302() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test302_run(o, a, a2));

    function test302_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test302_access(o, a, i2);
                }
                sum += test302_access(o, a, i1);
            }
            a = a2;
        }

        function test302_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test302: " + test302());

function test303() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test303_run(o, a, a2));

    function test303_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test303_access(o, a, i2);
                }
                a = a2;
                sum += test303_access(o, a, i1);
            }
        }

        function test303_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test303: " + test303());

function test304() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test304_run(o, a, a2));

    function test304_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[-1];
                }
                sum += o.a[-1];
            }
        }
        return sum;
    }
}
echo("test304: " + test304());

function test305() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test305_run(o, a, a2));

    function test305_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test305: " + test305());

function test306() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test306_run(o, a, a2));

    function test306_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
                a = a2;
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test306: " + test306());

function test307() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test307_run(o, a, a2));

    function test307_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test307: " + test307());

function test308() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test308_run(o, a, a2));

    function test308_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test308_access(o, a, i0);
        }

        function test308_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test308: " + test308());

function test309() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test309_run(o, a, a2));

    function test309_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test309_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test309_access(o, a, i0);
        }

        function test309_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test309: " + test309());

function test310() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test310_run(o, a, a2));

    function test310_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test310_access(o, a, i1);
            }
            sum += test310_access(o, a, i0);
        }

        function test310_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test310: " + test310());

function test311() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test311_run(o, a, a2));

    function test311_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test311_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test311_access(o, a, i0);
        }

        function test311_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test311: " + test311());

function test312() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test312_run(o, a, a2));

    function test312_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test312: " + test312());

function test313() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test313_run(o, a, a2));

    function test313_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test313: " + test313());

function test314() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test314_run(o, a, a2));

    function test314_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test314: " + test314());

function test315() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test315_run(o, a, a2));

    function test315_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test315: " + test315());

function test316() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test316_run(o, a, a2));

    function test316_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test316_access(o, a, i2);
                }
                sum += test316_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test316_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test316: " + test316());

function test317() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test317_run(o, a, a2));

    function test317_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test317_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test317_access(o, a, i1);
            }
        }

        function test317_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test317: " + test317());

function test318() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test318_run(o, a, a2));

    function test318_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test318_access(o, a, i2);
                }
                sum += test318_access(o, a, i1);
            }
        }

        function test318_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test318: " + test318());

function test319() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test319_run(o, a, a2));

    function test319_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test319_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test319_access(o, a, i0);
        }

        function test319_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test319: " + test319());

function test320() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test320_run(o, a, a2));

    function test320_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test320: " + test320());

function test321() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test321_run(o, a, a2));

    function test321_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test321: " + test321());

function test322() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test322_run(o, a, a2));

    function test322_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test322: " + test322());

function test323() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test323_run(o, a, a2));

    function test323_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test323: " + test323());

function test324() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test324_run(o, a, a2));

    function test324_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test324_access(o, a, i1);
            }
            sum += test324_access(o, a, i0);
        }

        function test324_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test324: " + test324());

function test325() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test325_run(o, a, a2));

    function test325_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test325_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test325_access(o, a, i0);
        }

        function test325_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test325: " + test325());

function test326() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test326_run(o, a, a2));

    function test326_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test326_access(o, a, i1);
            }
            sum += test326_access(o, a, i0);
        }

        function test326_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test326: " + test326());

function test327() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test327_run(o, a, a2));

    function test327_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test327_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test327_access(o, a, i0);
        }

        function test327_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test327: " + test327());

function test328() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test328_run(o, a, a2));

    function test328_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test328: " + test328());

function test329() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test329_run(o, a, a2));

    function test329_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test329: " + test329());

function test330() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test330_run(o, a, a2));

    function test330_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[0];
                }
                sum += o.a[0];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test330: " + test330());

function test331() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test331_run(o, a, a2));

    function test331_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[0];
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += o.a[0];
            }
        }
        return sum;
    }
}
echo("test331: " + test331());

function test332() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test332_run(o, a, a2));

    function test332_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test332_access(o, a, i2);
                }
                sum += test332_access(o, a, i1);
            }
        }

        function test332_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test332: " + test332());

function test333() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test333_run(o, a, a2));

    function test333_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test333_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test333_access(o, a, i0);
        }

        function test333_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test333: " + test333());

function test334() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test334_run(o, a, a2));

    function test334_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test334_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test334_access(o, a, i0);
        }

        function test334_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test334: " + test334());

function test335() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test335_run(o, a, a2));

    function test335_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test335_access(o, a, i3);
                    }
                }
            }
            sum += test335_access(o, a, i0);
        }

        function test335_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test335: " + test335());

function test336() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test336_run(o, a, a2));

    function test336_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test336: " + test336());

function test337() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test337_run(o, a, a2));

    function test337_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test337: " + test337());

function test338() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test338_run(o, a, a2));

    function test338_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test338: " + test338());

function test339() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test339_run(o, a, a2));

    function test339_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test339_access(o, a, i3);
                    }
                }
            }
            sum += test339_access(o, a, i0);
        }

        function test339_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test339: " + test339());

function test340() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test340_run(o, a, a2));

    function test340_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
        }
        return sum;
    }
}
echo("test340: " + test340());

function test341() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test341_run(o, a, a2));

    function test341_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test341: " + test341());

function test342() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test342_run(o, a, a2));

    function test342_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test342_access(o, a, i0);
        }

        function test342_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test342: " + test342());

function test343() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test343_run(o, a, a2));

    function test343_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test343_access(o, a, i1);
            }
            a = a2;
            sum += test343_access(o, a, i0);
        }

        function test343_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test343: " + test343());

function test344() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test344_run(o, a, a2));

    function test344_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test344: " + test344());

function test345() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test345_run(o, a, a2));

    function test345_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            a = a2;
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test345: " + test345());

function test346() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test346_run(o, a, a2));

    function test346_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test346: " + test346());

function test347() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test347_run(o, a, a2));

    function test347_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test347: " + test347());

function test348() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test348_run(o, a, a2));

    function test348_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test348_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test348_access(o, a, i0);
        }

        function test348_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test348: " + test348());

function test349() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test349_run(o, a, a2));

    function test349_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test349_access(o, a, i3);
                    }
                }
            }
            sum += test349_access(o, a, i0);
        }

        function test349_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test349: " + test349());

function test350() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test350_run(o, a, a2));

    function test350_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test350_access(o, a, i2);
                }
                sum += test350_access(o, a, i1);
            }
            a = a2;
        }

        function test350_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test350: " + test350());

function test351() {
    "use strict";

    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test351_run(o, a, a2));

    function test351_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test351_access(o, a, i2);
                }
                a = a2;
                sum += test351_access(o, a, i1);
            }
        }

        function test351_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test351: " + test351());

function test352() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test352_run(o, a, a2));

    function test352_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                }
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
        }
        return sum;
    }
}
echo("test352: " + test352());

function test353() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test353_run(o, a, a2));

    function test353_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test353: " + test353());

function test354() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test354_run(o, a, a2));

    function test354_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
                a = a2;
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test354: " + test354());

function test355() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test355_run(o, a, a2));

    function test355_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test355: " + test355());

function test356() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test356_run(o, a, a2));

    function test356_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test356_access(o, a, i0);
        }

        function test356_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test356: " + test356());

function test357() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test357_run(o, a, a2));

    function test357_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test357_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test357_access(o, a, i0);
        }

        function test357_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test357: " + test357());

function test358() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test358_run(o, a, a2));

    function test358_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test358_access(o, a, i1);
            }
            sum += test358_access(o, a, i0);
        }

        function test358_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test358: " + test358());

function test359() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test359_run(o, a, a2));

    function test359_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test359_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test359_access(o, a, i0);
        }

        function test359_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test359: " + test359());

function test360() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test360_run(o, a, a2));

    function test360_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test360: " + test360());

function test361() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test361_run(o, a, a2));

    function test361_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test361: " + test361());

function test362() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test362_run(o, a, a2));

    function test362_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test362: " + test362());

function test363() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test363_run(o, a, a2));

    function test363_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test363: " + test363());

function test364() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test364_run(o, a, a2));

    function test364_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test364_access(o, a, i2);
                }
                sum += test364_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test364_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test364: " + test364());

function test365() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test365_run(o, a, a2));

    function test365_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test365_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test365_access(o, a, i1);
            }
        }

        function test365_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test365: " + test365());

function test366() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test366_run(o, a, a2));

    function test366_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test366_access(o, a, i2);
                }
                sum += test366_access(o, a, i1);
            }
        }

        function test366_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test366: " + test366());

function test367() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test367_run(o, a, a2));

    function test367_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test367_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test367_access(o, a, i0);
        }

        function test367_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test367: " + test367());

function test368() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test368_run(o, a, a2));

    function test368_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test368: " + test368());

function test369() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test369_run(o, a, a2));

    function test369_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test369: " + test369());

function test370() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test370_run(o, a, a2));

    function test370_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test370: " + test370());

function test371() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test371_run(o, a, a2));

    function test371_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test371: " + test371());

function test372() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test372_run(o, a, a2));

    function test372_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test372_access(o, a, i1);
            }
            sum += test372_access(o, a, i0);
        }

        function test372_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test372: " + test372());

function test373() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test373_run(o, a, a2));

    function test373_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test373_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test373_access(o, a, i0);
        }

        function test373_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test373: " + test373());

function test374() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test374_run(o, a, a2));

    function test374_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test374_access(o, a, i1);
            }
            sum += test374_access(o, a, i0);
        }

        function test374_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test374: " + test374());

function test375() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test375_run(o, a, a2));

    function test375_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test375_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test375_access(o, a, i0);
        }

        function test375_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test375: " + test375());

function test376() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test376_run(o, a, a2));

    function test376_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test376: " + test376());

function test377() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test377_run(o, a, a2));

    function test377_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test377: " + test377());

function test378() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test378_run(o, a, a2));

    function test378_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test378: " + test378());

function test379() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test379_run(o, a, a2));

    function test379_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
        }
        return sum;
    }
}
echo("test379: " + test379());

function test380() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test380_run(o, a, a2));

    function test380_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test380_access(o, a, i2);
                }
                sum += test380_access(o, a, i1);
            }
        }

        function test380_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test380: " + test380());

function test381() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test381_run(o, a, a2));

    function test381_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test381_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test381_access(o, a, i0);
        }

        function test381_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test381: " + test381());

function test382() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test382_run(o, a, a2));

    function test382_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test382_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test382_access(o, a, i0);
        }

        function test382_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test382: " + test382());

function test383() {
    var o = {
        a: { "0": 1, "1": 2, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test383_run(o, a, a2));

    function test383_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test383_access(o, a, i3);
                    }
                }
            }
            sum += test383_access(o, a, i0);
        }

        function test383_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test383: " + test383());

function test384() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test384_run(o, a, a2));

    function test384_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test384: " + test384());

function test385() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test385_run(o, a, a2));

    function test385_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test385: " + test385());

function test386() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test386_run(o, a, a2));

    function test386_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test386: " + test386());

function test387() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test387_run(o, a, a2));

    function test387_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test387_access(o, a, i3);
                    }
                }
            }
            sum += test387_access(o, a, i0);
        }

        function test387_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test387: " + test387());

function test388() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test388_run(o, a, a2));

    function test388_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[-1];
                }
                sum += a[-1];
            }
        }
        return sum;
    }
}
echo("test388: " + test388());

function test389() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test389_run(o, a, a2));

    function test389_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test389: " + test389());

function test390() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test390_run(o, a, a2));

    function test390_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test390_access(o, a, i0);
        }

        function test390_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test390: " + test390());

function test391() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test391_run(o, a, a2));

    function test391_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test391_access(o, a, i1);
            }
            a = a2;
            sum += test391_access(o, a, i0);
        }

        function test391_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test391: " + test391());

function test392() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test392_run(o, a, a2));

    function test392_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test392: " + test392());

function test393() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test393_run(o, a, a2));

    function test393_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test393: " + test393());

function test394() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test394_run(o, a, a2));

    function test394_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test394: " + test394());

function test395() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test395_run(o, a, a2));

    function test395_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            a = a2;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test395: " + test395());

function test396() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test396_run(o, a, a2));

    function test396_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test396_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test396_access(o, a, i0);
        }

        function test396_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test396: " + test396());

function test397() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test397_run(o, a, a2));

    function test397_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test397_access(o, a, i3);
                    }
                }
            }
            sum += test397_access(o, a, i0);
        }

        function test397_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test397: " + test397());

function test398() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test398_run(o, a, a2));

    function test398_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test398_access(o, a, i2);
                }
                sum += test398_access(o, a, i1);
            }
            a = a2;
        }

        function test398_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test398: " + test398());

function test399() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test399_run(o, a, a2));

    function test399_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test399_access(o, a, i2);
                }
                a = a2;
                sum += test399_access(o, a, i1);
            }
        }

        function test399_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test399: " + test399());

function test400() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test400_run(o, a, a2));

    function test400_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[i2];
                }
                sum += a[i1];
            }
        }
        return sum;
    }
}
echo("test400: " + test400());

function test401() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test401_run(o, a, a2));

    function test401_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            a = a2;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test401: " + test401());

function test402() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test402_run(o, a, a2));

    function test402_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                a = a2;
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test402: " + test402());

function test403() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test403_run(o, a, a2));

    function test403_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test403: " + test403());

function test404() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test404_run(o, a, a2));

    function test404_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test404_access(o, a, i0);
        }

        function test404_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test404: " + test404());

function test405() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test405_run(o, a, a2));

    function test405_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test405_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test405_access(o, a, i0);
        }

        function test405_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test405: " + test405());

function test406() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test406_run(o, a, a2));

    function test406_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test406_access(o, a, i1);
            }
            sum += test406_access(o, a, i0);
        }

        function test406_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test406: " + test406());

function test407() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test407_run(o, a, a2));

    function test407_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test407_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test407_access(o, a, i0);
        }

        function test407_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test407: " + test407());

function test408() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test408_run(o, a, a2));

    function test408_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test408: " + test408());

function test409() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test409_run(o, a, a2));

    function test409_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += a[-1];
        }
        return sum;
    }
}
echo("test409: " + test409());

function test410() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test410_run(o, a, a2));

    function test410_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test410: " + test410());

function test411() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test411_run(o, a, a2));

    function test411_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test411: " + test411());

function test412() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test412_run(o, a, a2));

    function test412_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test412_access(o, a, i2);
                }
                sum += test412_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test412_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test412: " + test412());

function test413() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test413_run(o, a, a2));

    function test413_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test413_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test413_access(o, a, i1);
            }
        }

        function test413_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test413: " + test413());

function test414() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test414_run(o, a, a2));

    function test414_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test414_access(o, a, i2);
                }
                sum += test414_access(o, a, i1);
            }
        }

        function test414_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test414: " + test414());

function test415() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test415_run(o, a, a2));

    function test415_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test415_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test415_access(o, a, i0);
        }

        function test415_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test415: " + test415());

function test416() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test416_run(o, a, a2));

    function test416_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test416: " + test416());

function test417() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test417_run(o, a, a2));

    function test417_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test417: " + test417());

function test418() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test418_run(o, a, a2));

    function test418_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test418: " + test418());

function test419() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test419_run(o, a, a2));

    function test419_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test419: " + test419());

function test420() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test420_run(o, a, a2));

    function test420_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test420_access(o, a, i1);
            }
            sum += test420_access(o, a, i0);
        }

        function test420_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test420: " + test420());

function test421() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test421_run(o, a, a2));

    function test421_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test421_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test421_access(o, a, i0);
        }

        function test421_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test421: " + test421());

function test422() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test422_run(o, a, a2));

    function test422_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test422_access(o, a, i1);
            }
            sum += test422_access(o, a, i0);
        }

        function test422_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test422: " + test422());

function test423() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test423_run(o, a, a2));

    function test423_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test423_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test423_access(o, a, i0);
        }

        function test423_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test423: " + test423());

function test424() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test424_run(o, a, a2));

    function test424_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test424: " + test424());

function test425() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test425_run(o, a, a2));

    function test425_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test425: " + test425());

function test426() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test426_run(o, a, a2));

    function test426_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[-1];
                }
                sum += a[-1];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test426: " + test426());

function test427() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test427_run(o, a, a2));

    function test427_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[-1];
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += a[-1];
            }
        }
        return sum;
    }
}
echo("test427: " + test427());

function test428() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test428_run(o, a, a2));

    function test428_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test428_access(o, a, i2);
                }
                sum += test428_access(o, a, i1);
            }
        }

        function test428_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test428: " + test428());

function test429() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test429_run(o, a, a2));

    function test429_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test429_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test429_access(o, a, i0);
        }

        function test429_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test429: " + test429());

function test430() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test430_run(o, a, a2));

    function test430_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test430_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test430_access(o, a, i0);
        }

        function test430_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test430: " + test430());

function test431() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test431_run(o, a, a2));

    function test431_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test431_access(o, a, i3);
                    }
                }
            }
            sum += test431_access(o, a, i0);
        }

        function test431_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test431: " + test431());

function test432() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test432_run(o, a, a2));

    function test432_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test432: " + test432());

function test433() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test433_run(o, a, a2));

    function test433_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test433: " + test433());

function test434() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test434_run(o, a, a2));

    function test434_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test434: " + test434());

function test435() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test435_run(o, a, a2));

    function test435_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test435_access(o, a, i3);
                    }
                }
            }
            sum += test435_access(o, a, i0);
        }

        function test435_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test435: " + test435());

function test436() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test436_run(o, a, a2));

    function test436_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[0] = -a[0] - 1, a[0]);
                }
                sum += (a[0] = -a[0] - 1, a[0]);
            }
        }
        return sum;
    }
}
echo("test436: " + test436());

function test437() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test437_run(o, a, a2));

    function test437_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test437: " + test437());

function test438() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test438_run(o, a, a2));

    function test438_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test438_access(o, a, i0);
        }

        function test438_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test438: " + test438());

function test439() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test439_run(o, a, a2));

    function test439_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test439_access(o, a, i1);
            }
            a = a2;
            sum += test439_access(o, a, i0);
        }

        function test439_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test439: " + test439());

function test440() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test440_run(o, a, a2));

    function test440_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test440: " + test440());

function test441() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test441_run(o, a, a2));

    function test441_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test441: " + test441());

function test442() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test442_run(o, a, a2));

    function test442_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test442: " + test442());

function test443() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test443_run(o, a, a2));

    function test443_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            a = a2;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test443: " + test443());

function test444() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test444_run(o, a, a2));

    function test444_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test444_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test444_access(o, a, i0);
        }

        function test444_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test444: " + test444());

function test445() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test445_run(o, a, a2));

    function test445_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test445_access(o, a, i3);
                    }
                }
            }
            sum += test445_access(o, a, i0);
        }

        function test445_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test445: " + test445());

function test446() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test446_run(o, a, a2));

    function test446_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test446_access(o, a, i2);
                }
                sum += test446_access(o, a, i1);
            }
            a = a2;
        }

        function test446_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test446: " + test446());

function test447() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test447_run(o, a, a2));

    function test447_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test447_access(o, a, i2);
                }
                a = a2;
                sum += test447_access(o, a, i1);
            }
        }

        function test447_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test447: " + test447());

function test448() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test448_run(o, a, a2));

    function test448_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
        }
        return sum;
    }
}
echo("test448: " + test448());

function test449() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test449_run(o, a, a2));

    function test449_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            a = a2;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test449: " + test449());

function test450() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test450_run(o, a, a2));

    function test450_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                a = a2;
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test450: " + test450());

function test451() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test451_run(o, a, a2));

    function test451_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test451: " + test451());

function test452() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test452_run(o, a, a2));

    function test452_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test452_access(o, a, i0);
        }

        function test452_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test452: " + test452());

function test453() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test453_run(o, a, a2));

    function test453_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test453_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test453_access(o, a, i0);
        }

        function test453_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test453: " + test453());

function test454() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test454_run(o, a, a2));

    function test454_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test454_access(o, a, i1);
            }
            sum += test454_access(o, a, i0);
        }

        function test454_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test454: " + test454());

function test455() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test455_run(o, a, a2));

    function test455_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test455_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test455_access(o, a, i0);
        }

        function test455_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test455: " + test455());

function test456() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test456_run(o, a, a2));

    function test456_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test456: " + test456());

function test457() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test457_run(o, a, a2));

    function test457_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test457: " + test457());

function test458() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test458_run(o, a, a2));

    function test458_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test458: " + test458());

function test459() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test459_run(o, a, a2));

    function test459_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test459: " + test459());

function test460() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test460_run(o, a, a2));

    function test460_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test460_access(o, a, i2);
                }
                sum += test460_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test460_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test460: " + test460());

function test461() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test461_run(o, a, a2));

    function test461_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test461_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test461_access(o, a, i1);
            }
        }

        function test461_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test461: " + test461());

function test462() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test462_run(o, a, a2));

    function test462_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test462_access(o, a, i2);
                }
                sum += test462_access(o, a, i1);
            }
        }

        function test462_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test462: " + test462());

function test463() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test463_run(o, a, a2));

    function test463_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test463_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test463_access(o, a, i0);
        }

        function test463_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test463: " + test463());

function test464() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test464_run(o, a, a2));

    function test464_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test464: " + test464());

function test465() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test465_run(o, a, a2));

    function test465_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test465: " + test465());

function test466() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test466_run(o, a, a2));

    function test466_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test466: " + test466());

function test467() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test467_run(o, a, a2));

    function test467_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test467: " + test467());

function test468() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test468_run(o, a, a2));

    function test468_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test468_access(o, a, i1);
            }
            sum += test468_access(o, a, i0);
        }

        function test468_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test468: " + test468());

function test469() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test469_run(o, a, a2));

    function test469_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test469_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test469_access(o, a, i0);
        }

        function test469_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test469: " + test469());

function test470() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test470_run(o, a, a2));

    function test470_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test470_access(o, a, i1);
            }
            sum += test470_access(o, a, i0);
        }

        function test470_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test470: " + test470());

function test471() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test471_run(o, a, a2));

    function test471_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test471_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test471_access(o, a, i0);
        }

        function test471_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test471: " + test471());

function test472() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test472_run(o, a, a2));

    function test472_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test472: " + test472());

function test473() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test473_run(o, a, a2));

    function test473_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test473: " + test473());

function test474() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test474_run(o, a, a2));

    function test474_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[0] = -a[0] - 1, a[0]);
                }
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test474: " + test474());

function test475() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test475_run(o, a, a2));

    function test475_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[0] = -a[0] - 1, a[0]);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
        }
        return sum;
    }
}
echo("test475: " + test475());

function test476() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test476_run(o, a, a2));

    function test476_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test476_access(o, a, i2);
                }
                sum += test476_access(o, a, i1);
            }
        }

        function test476_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test476: " + test476());

function test477() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test477_run(o, a, a2));

    function test477_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test477_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test477_access(o, a, i0);
        }

        function test477_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test477: " + test477());

function test478() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test478_run(o, a, a2));

    function test478_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test478_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test478_access(o, a, i0);
        }

        function test478_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test478: " + test478());

function test479() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test479_run(o, a, a2));

    function test479_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test479_access(o, a, i3);
                    }
                }
            }
            sum += test479_access(o, a, i0);
        }

        function test479_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test479: " + test479());

function test480() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test480_run(o, a, a2));

    function test480_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test480: " + test480());

function test481() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test481_run(o, a, a2));

    function test481_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test481: " + test481());

function test482() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test482_run(o, a, a2));

    function test482_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test482: " + test482());

function test483() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test483_run(o, a, a2));

    function test483_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test483_access(o, a, i3);
                    }
                }
            }
            sum += test483_access(o, a, i0);
        }

        function test483_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test483: " + test483());

function test484() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test484_run(o, a, a2));

    function test484_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[i2];
                }
                sum += o.a[i1];
            }
        }
        return sum;
    }
}
echo("test484: " + test484());

function test485() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test485_run(o, a, a2));

    function test485_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test485: " + test485());

function test486() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test486_run(o, a, a2));

    function test486_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test486_access(o, a, i0);
        }

        function test486_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test486: " + test486());

function test487() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test487_run(o, a, a2));

    function test487_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test487_access(o, a, i1);
            }
            a = a2;
            sum += test487_access(o, a, i0);
        }

        function test487_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test487: " + test487());

function test488() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test488_run(o, a, a2));

    function test488_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test488: " + test488());

function test489() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test489_run(o, a, a2));

    function test489_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test489: " + test489());

function test490() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test490_run(o, a, a2));

    function test490_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test490: " + test490());

function test491() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test491_run(o, a, a2));

    function test491_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            a = a2;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test491: " + test491());

function test492() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test492_run(o, a, a2));

    function test492_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test492_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test492_access(o, a, i0);
        }

        function test492_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test492: " + test492());

function test493() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test493_run(o, a, a2));

    function test493_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test493_access(o, a, i3);
                    }
                }
            }
            sum += test493_access(o, a, i0);
        }

        function test493_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test493: " + test493());

function test494() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test494_run(o, a, a2));

    function test494_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test494_access(o, a, i2);
                }
                sum += test494_access(o, a, i1);
            }
            a = a2;
        }

        function test494_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test494: " + test494());

function test495() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test495_run(o, a, a2));

    function test495_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test495_access(o, a, i2);
                }
                a = a2;
                sum += test495_access(o, a, i1);
            }
        }

        function test495_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test495: " + test495());

function test496() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test496_run(o, a, a2));

    function test496_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[0];
                }
                sum += o.a[0];
            }
        }
        return sum;
    }
}
echo("test496: " + test496());

function test497() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test497_run(o, a, a2));

    function test497_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            a = a2;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test497: " + test497());

function test498() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test498_run(o, a, a2));

    function test498_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                a = a2;
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test498: " + test498());

function test499() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test499_run(o, a, a2));

    function test499_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test499: " + test499());

function test500() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test500_run(o, a, a2));

    function test500_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test500_access(o, a, i0);
        }

        function test500_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test500: " + test500());

function test501() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test501_run(o, a, a2));

    function test501_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test501_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test501_access(o, a, i0);
        }

        function test501_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test501: " + test501());

function test502() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test502_run(o, a, a2));

    function test502_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test502_access(o, a, i1);
            }
            sum += test502_access(o, a, i0);
        }

        function test502_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test502: " + test502());

function test503() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test503_run(o, a, a2));

    function test503_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test503_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test503_access(o, a, i0);
        }

        function test503_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test503: " + test503());

function test504() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test504_run(o, a, a2));

    function test504_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test504: " + test504());

function test505() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test505_run(o, a, a2));

    function test505_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test505: " + test505());

function test506() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test506_run(o, a, a2));

    function test506_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test506: " + test506());

function test507() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test507_run(o, a, a2));

    function test507_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test507: " + test507());

function test508() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test508_run(o, a, a2));

    function test508_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test508_access(o, a, i2);
                }
                sum += test508_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test508_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test508: " + test508());

function test509() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test509_run(o, a, a2));

    function test509_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test509_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test509_access(o, a, i1);
            }
        }

        function test509_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test509: " + test509());

function test510() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test510_run(o, a, a2));

    function test510_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test510_access(o, a, i2);
                }
                sum += test510_access(o, a, i1);
            }
        }

        function test510_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test510: " + test510());

function test511() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test511_run(o, a, a2));

    function test511_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test511_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test511_access(o, a, i0);
        }

        function test511_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test511: " + test511());

function test512() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test512_run(o, a, a2));

    function test512_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test512: " + test512());

function test513() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test513_run(o, a, a2));

    function test513_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test513: " + test513());

function test514() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test514_run(o, a, a2));

    function test514_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test514: " + test514());

function test515() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test515_run(o, a, a2));

    function test515_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test515: " + test515());

function test516() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test516_run(o, a, a2));

    function test516_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test516_access(o, a, i1);
            }
            sum += test516_access(o, a, i0);
        }

        function test516_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test516: " + test516());

function test517() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test517_run(o, a, a2));

    function test517_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test517_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test517_access(o, a, i0);
        }

        function test517_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test517: " + test517());

function test518() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test518_run(o, a, a2));

    function test518_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test518_access(o, a, i1);
            }
            sum += test518_access(o, a, i0);
        }

        function test518_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test518: " + test518());

function test519() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test519_run(o, a, a2));

    function test519_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test519_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test519_access(o, a, i0);
        }

        function test519_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test519: " + test519());

function test520() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test520_run(o, a, a2));

    function test520_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test520: " + test520());

function test521() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test521_run(o, a, a2));

    function test521_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test521: " + test521());

function test522() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test522_run(o, a, a2));

    function test522_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[i2];
                }
                sum += o.a[i1];
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test522: " + test522());

function test523() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test523_run(o, a, a2));

    function test523_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[i2];
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += o.a[i1];
            }
        }
        return sum;
    }
}
echo("test523: " + test523());

function test524() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test524_run(o, a, a2));

    function test524_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test524_access(o, a, i2);
                }
                sum += test524_access(o, a, i1);
            }
        }

        function test524_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test524: " + test524());

function test525() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test525_run(o, a, a2));

    function test525_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test525_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test525_access(o, a, i0);
        }

        function test525_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test525: " + test525());

function test526() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test526_run(o, a, a2));

    function test526_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test526_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test526_access(o, a, i0);
        }

        function test526_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test526: " + test526());

function test527() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test527_run(o, a, a2));

    function test527_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test527_access(o, a, i3);
                    }
                }
            }
            sum += test527_access(o, a, i0);
        }

        function test527_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test527: " + test527());

function test528() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test528_run(o, a, a2));

    function test528_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test528: " + test528());

function test529() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test529_run(o, a, a2));

    function test529_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test529: " + test529());

function test530() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test530_run(o, a, a2));

    function test530_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test530: " + test530());

function test531() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test531_run(o, a, a2));

    function test531_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test531_access(o, a, i3);
                    }
                }
            }
            sum += test531_access(o, a, i0);
        }

        function test531_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test531: " + test531());

function test532() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test532_run(o, a, a2));

    function test532_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                }
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
        }
        return sum;
    }
}
echo("test532: " + test532());

function test533() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test533_run(o, a, a2));

    function test533_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test533: " + test533());

function test534() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test534_run(o, a, a2));

    function test534_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test534_access(o, a, i0);
        }

        function test534_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test534: " + test534());

function test535() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test535_run(o, a, a2));

    function test535_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test535_access(o, a, i1);
            }
            a = a2;
            sum += test535_access(o, a, i0);
        }

        function test535_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test535: " + test535());

function test536() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test536_run(o, a, a2));

    function test536_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test536: " + test536());

function test537() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test537_run(o, a, a2));

    function test537_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test537: " + test537());

function test538() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test538_run(o, a, a2));

    function test538_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test538: " + test538());

function test539() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test539_run(o, a, a2));

    function test539_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            a = a2;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test539: " + test539());

function test540() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test540_run(o, a, a2));

    function test540_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test540_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test540_access(o, a, i0);
        }

        function test540_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test540: " + test540());

function test541() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test541_run(o, a, a2));

    function test541_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test541_access(o, a, i3);
                    }
                }
            }
            sum += test541_access(o, a, i0);
        }

        function test541_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test541: " + test541());

function test542() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test542_run(o, a, a2));

    function test542_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test542_access(o, a, i2);
                }
                sum += test542_access(o, a, i1);
            }
            a = a2;
        }

        function test542_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test542: " + test542());

function test543() {
    "use strict";

    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test543_run(o, a, a2));

    function test543_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test543_access(o, a, i2);
                }
                a = a2;
                sum += test543_access(o, a, i1);
            }
        }

        function test543_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test543: " + test543());

function test544() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test544_run(o, a, a2));

    function test544_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
        }
        return sum;
    }
}
echo("test544: " + test544());

function test545() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test545_run(o, a, a2));

    function test545_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            a = a2;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test545: " + test545());

function test546() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test546_run(o, a, a2));

    function test546_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                a = a2;
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test546: " + test546());

function test547() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test547_run(o, a, a2));

    function test547_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test547: " + test547());

function test548() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test548_run(o, a, a2));

    function test548_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test548_access(o, a, i0);
        }

        function test548_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test548: " + test548());

function test549() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test549_run(o, a, a2));

    function test549_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test549_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test549_access(o, a, i0);
        }

        function test549_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test549: " + test549());

function test550() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test550_run(o, a, a2));

    function test550_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test550_access(o, a, i1);
            }
            sum += test550_access(o, a, i0);
        }

        function test550_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test550: " + test550());

function test551() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test551_run(o, a, a2));

    function test551_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test551_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test551_access(o, a, i0);
        }

        function test551_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test551: " + test551());

function test552() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test552_run(o, a, a2));

    function test552_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test552: " + test552());

function test553() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test553_run(o, a, a2));

    function test553_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test553: " + test553());

function test554() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test554_run(o, a, a2));

    function test554_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test554: " + test554());

function test555() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test555_run(o, a, a2));

    function test555_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test555: " + test555());

function test556() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test556_run(o, a, a2));

    function test556_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test556_access(o, a, i2);
                }
                sum += test556_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test556_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test556: " + test556());

function test557() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test557_run(o, a, a2));

    function test557_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test557_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test557_access(o, a, i1);
            }
        }

        function test557_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test557: " + test557());

function test558() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test558_run(o, a, a2));

    function test558_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test558_access(o, a, i2);
                }
                sum += test558_access(o, a, i1);
            }
        }

        function test558_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test558: " + test558());

function test559() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test559_run(o, a, a2));

    function test559_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test559_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test559_access(o, a, i0);
        }

        function test559_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test559: " + test559());

function test560() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test560_run(o, a, a2));

    function test560_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test560: " + test560());

function test561() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test561_run(o, a, a2));

    function test561_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test561: " + test561());

function test562() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test562_run(o, a, a2));

    function test562_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test562: " + test562());

function test563() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test563_run(o, a, a2));

    function test563_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test563: " + test563());

function test564() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test564_run(o, a, a2));

    function test564_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test564_access(o, a, i1);
            }
            sum += test564_access(o, a, i0);
        }

        function test564_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test564: " + test564());

function test565() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test565_run(o, a, a2));

    function test565_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test565_access(o, a, i1);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test565_access(o, a, i0);
        }

        function test565_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test565: " + test565());

function test566() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test566_run(o, a, a2));

    function test566_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += test566_access(o, a, i1);
            }
            sum += test566_access(o, a, i0);
        }

        function test566_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test566: " + test566());

function test567() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test567_run(o, a, a2));

    function test567_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test567_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test567_access(o, a, i0);
        }

        function test567_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test567: " + test567());

function test568() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test568_run(o, a, a2));

    function test568_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test568: " + test568());

function test569() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test569_run(o, a, a2));

    function test569_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test569: " + test569());

function test570() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test570_run(o, a, a2));

    function test570_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                }
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
        }
        return sum;
    }
}
echo("test570: " + test570());

function test571() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test571_run(o, a, a2));

    function test571_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
        }
        return sum;
    }
}
echo("test571: " + test571());

function test572() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test572_run(o, a, a2));

    function test572_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                    }
                    sum += test572_access(o, a, i2);
                }
                sum += test572_access(o, a, i1);
            }
        }

        function test572_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test572: " + test572());

function test573() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test573_run(o, a, a2));

    function test573_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test573_access(o, a, i3);
                    }
                }
            }
            if(bailout && i0 === (2 >> 1))
                o.changeToEs5Array = 0;
            sum += test573_access(o, a, i0);
        }

        function test573_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test573: " + test573());

function test574() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test574_run(o, a, a2));

    function test574_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test574_access(o, a, i3);
                    }
                }
                if(bailout && i1 === (2 >> 1))
                    o.changeToEs5Array = 0;
            }
            sum += test574_access(o, a, i0);
        }

        function test574_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test574: " + test574());

function test575() {
    var o = {
        a: { "0": 1.1, "1": 2.1, length: 2 },
        set changeToEs5Array(v) {
            try {
                Object.defineProperty(this.a, 0, { configurable: true, writable: false, enumerable: true, value: -this.a[0] - 1 });
            } catch(ex) {
                echo("Unexpected exception - " + ex.name + ": " + ex.message);
            }
        }
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = [];
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test575_run(o, a, a2));

    function test575_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        if(bailout && i3 === (2 >> 1))
                            o.changeToEs5Array = 0;
                        sum += test575_access(o, a, i3);
                    }
                }
            }
            sum += test575_access(o, a, i0);
        }

        function test575_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test575: " + test575());

function test576() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test576_run(o, a, a2));

    function test576_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test576: " + test576());

function test577() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test577_run(o, a, a2));

    function test577_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1].p;
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test577: " + test577());

function test578() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test578_run(o, a, a2));

    function test578_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0].p;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test578: " + test578());

function test579() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test579_run(o, a, a2));

    function test579_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test579_access(o, a, i3);
                    }
                }
            }
            sum += test579_access(o, a, i0);
        }

        function test579_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test579: " + test579());

function test580() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test580_run(o, a, a2));

    function test580_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[0].p;
                }
                sum += a[0].p;
            }
        }
        return sum;
    }
}
echo("test580: " + test580());

function test581() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test581_run(o, a, a2));

    function test581_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test581: " + test581());

function test582() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test582_run(o, a, a2));

    function test582_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test582_access(o, a, i0);
        }

        function test582_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test582: " + test582());

function test583() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test583_run(o, a, a2));

    function test583_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test583_access(o, a, i1);
            }
            a = a2;
            sum += test583_access(o, a, i0);
        }

        function test583_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test583: " + test583());

function test584() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test584_run(o, a, a2));

    function test584_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[i1].p;
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test584: " + test584());

function test585() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test585_run(o, a, a2));

    function test585_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1].p;
            }
            a = a2;
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test585: " + test585());

function test586() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test586_run(o, a, a2));

    function test586_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[-1].p;
            }
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test586: " + test586());

function test587() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test587_run(o, a, a2));

    function test587_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1].p;
                    }
                }
            }
            a = a2;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test587: " + test587());

function test588() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test588_run(o, a, a2));

    function test588_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test588_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test588_access(o, a, i0);
        }

        function test588_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test588: " + test588());

function test589() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test589_run(o, a, a2));

    function test589_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test589_access(o, a, i3);
                    }
                }
            }
            sum += test589_access(o, a, i0);
        }

        function test589_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test589: " + test589());

function test590() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test590_run(o, a, a2));

    function test590_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test590_access(o, a, i2);
                }
                sum += test590_access(o, a, i1);
            }
            a = a2;
        }

        function test590_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test590: " + test590());

function test591() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test591_run(o, a, a2));

    function test591_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test591_access(o, a, i2);
                }
                a = a2;
                sum += test591_access(o, a, i1);
            }
        }

        function test591_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test591: " + test591());

function test592() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test592_run(o, a, a2));

    function test592_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[-1].p;
                }
                sum += a[-1].p;
            }
        }
        return sum;
    }
}
echo("test592: " + test592());

function test593() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test593_run(o, a, a2));

    function test593_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1].p;
                    }
                }
            }
            a = a2;
            sum += a[-1].p;
        }
        return sum;
    }
}
echo("test593: " + test593());

function test594() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test594_run(o, a, a2));

    function test594_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0].p;
                    }
                }
                a = a2;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test594: " + test594());

function test595() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test595_run(o, a, a2));

    function test595_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[0].p;
                    }
                }
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test595: " + test595());

function test596() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test596_run(o, a, a2));

    function test596_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test596_access(o, a, i0);
        }

        function test596_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test596: " + test596());

function test597() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test597_run(o, a, a2));

    function test597_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test597_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test597_access(o, a, i0);
        }

        function test597_access(o, a, i) {
            return a[i].p;
        }
        return sum;
    }
}
echo("test597: " + test597());

function test598() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test598_run(o, a, a2));

    function test598_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test598_access(o, a, i1);
            }
            sum += test598_access(o, a, i0);
        }

        function test598_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test598: " + test598());

function test599() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test599_run(o, a, a2));

    function test599_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test599_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test599_access(o, a, i0);
        }

        function test599_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test599: " + test599());

function test600() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test600_run(o, a, a2));

    function test600_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += a[0].p;
            }
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test600: " + test600());

function test601() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test601_run(o, a, a2));

    function test601_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0].p;
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += a[0].p;
        }
        return sum;
    }
}
echo("test601: " + test601());

function test602() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test602_run(o, a, a2));

    function test602_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test602: " + test602());

function test603() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test603_run(o, a, a2));

    function test603_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test603: " + test603());

function test604() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test604_run(o, a, a2));

    function test604_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test604_access(o, a, i2);
                }
                sum += test604_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test604_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test604: " + test604());

function test605() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test605_run(o, a, a2));

    function test605_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test605_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test605_access(o, a, i1);
            }
        }

        function test605_access(o, a, i) {
            return a[-1].p;
        }
        return sum;
    }
}
echo("test605: " + test605());

function test606() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test606_run(o, a, a2));

    function test606_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test606_access(o, a, i2);
                }
                sum += test606_access(o, a, i1);
            }
        }

        function test606_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test606: " + test606());

function test607() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test607_run(o, a, a2));

    function test607_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test607_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test607_access(o, a, i0);
        }

        function test607_access(o, a, i) {
            return a[0].p;
        }
        return sum;
    }
}
echo("test607: " + test607());

function test608() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test608_run(o, a, a2));

    function test608_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test608: " + test608());

function test609() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test609_run(o, a, a2));

    function test609_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += a[i3].p;
                    }
                }
            }
            sum += a[i0].p;
        }
        return sum;
    }
}
echo("test609: " + test609());

function test610() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test610_run(o, a, a2));

    function test610_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test610: " + test610());

function test611() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test611_run(o, a, a2));

    function test611_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test611: " + test611());

function test612() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test612_run(o, a, a2));

    function test612_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test612: " + test612());

function test613() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test613_run(o, a, a2));

    function test613_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test613_access(o, a, i3);
                    }
                }
            }
            sum += test613_access(o, a, i0);
        }

        function test613_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test613: " + test613());

function test614() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test614_run(o, a, a2));

    function test614_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[i2].p = -a[i2].p - 1, a[i2].p);
                }
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
        }
        return sum;
    }
}
echo("test614: " + test614());

function test615() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test615_run(o, a, a2));

    function test615_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test615: " + test615());

function test616() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test616_run(o, a, a2));

    function test616_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test616_access(o, a, i0);
        }

        function test616_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test616: " + test616());

function test617() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test617_run(o, a, a2));

    function test617_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test617_access(o, a, i1);
            }
            a = a2;
            sum += test617_access(o, a, i0);
        }

        function test617_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test617: " + test617());

function test618() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test618_run(o, a, a2));

    function test618_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test618: " + test618());

function test619() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test619_run(o, a, a2));

    function test619_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
            }
            a = a2;
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test619: " + test619());

function test620() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test620_run(o, a, a2));

    function test620_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test620: " + test620());

function test621() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test621_run(o, a, a2));

    function test621_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
            }
            a = a2;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test621: " + test621());

function test622() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test622_run(o, a, a2));

    function test622_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test622_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test622_access(o, a, i0);
        }

        function test622_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test622: " + test622());

function test623() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test623_run(o, a, a2));

    function test623_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test623_access(o, a, i3);
                    }
                }
            }
            sum += test623_access(o, a, i0);
        }

        function test623_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test623: " + test623());

function test624() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test624_run(o, a, a2));

    function test624_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test624_access(o, a, i2);
                }
                sum += test624_access(o, a, i1);
            }
            a = a2;
        }

        function test624_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test624: " + test624());

function test625() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test625_run(o, a, a2));

    function test625_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test625_access(o, a, i2);
                }
                a = a2;
                sum += test625_access(o, a, i1);
            }
        }

        function test625_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test625: " + test625());

function test626() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test626_run(o, a, a2));

    function test626_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[0].p = -a[0].p - 1, a[0].p);
                }
                sum += (a[0].p = -a[0].p - 1, a[0].p);
            }
        }
        return sum;
    }
}
echo("test626: " + test626());

function test627() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test627_run(o, a, a2));

    function test627_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0].p = -a[0].p - 1, a[0].p);
                    }
                }
            }
            a = a2;
            sum += (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test627: " + test627());

function test628() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test628_run(o, a, a2));

    function test628_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
                a = a2;
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test628: " + test628());

function test629() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test629_run(o, a, a2));

    function test629_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test629: " + test629());

function test630() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test630_run(o, a, a2));

    function test630_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test630_access(o, a, i0);
        }

        function test630_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test630: " + test630());

function test631() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test631_run(o, a, a2));

    function test631_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test631_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test631_access(o, a, i0);
        }

        function test631_access(o, a, i) {
            return (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test631: " + test631());

function test632() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test632_run(o, a, a2));

    function test632_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test632_access(o, a, i1);
            }
            sum += test632_access(o, a, i0);
        }

        function test632_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test632: " + test632());

function test633() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test633_run(o, a, a2));

    function test633_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test633_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test633_access(o, a, i0);
        }

        function test633_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test633: " + test633());

function test634() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test634_run(o, a, a2));

    function test634_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += (a[i1].p = -a[i1].p - 1, a[i1].p);
            }
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test634: " + test634());

function test635() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test635_run(o, a, a2));

    function test635_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3].p = -a[i3].p - 1, a[i3].p);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += (a[i0].p = -a[i0].p - 1, a[i0].p);
        }
        return sum;
    }
}
echo("test635: " + test635());

function test636() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test636_run(o, a, a2));

    function test636_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test636: " + test636());

function test637() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test637_run(o, a, a2));

    function test637_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test637: " + test637());

function test638() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test638_run(o, a, a2));

    function test638_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test638_access(o, a, i2);
                }
                sum += test638_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test638_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test638: " + test638());

function test639() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test639_run(o, a, a2));

    function test639_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test639_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test639_access(o, a, i1);
            }
        }

        function test639_access(o, a, i) {
            return (a[0].p = -a[0].p - 1, a[0].p);
        }
        return sum;
    }
}
echo("test639: " + test639());

function test640() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test640_run(o, a, a2));

    function test640_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test640_access(o, a, i2);
                }
                sum += test640_access(o, a, i1);
            }
        }

        function test640_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test640: " + test640());

function test641() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test641_run(o, a, a2));

    function test641_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test641_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test641_access(o, a, i0);
        }

        function test641_access(o, a, i) {
            return (a[i].p = -a[i].p - 1, a[i].p);
        }
        return sum;
    }
}
echo("test641: " + test641());

function test642() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test642_run(o, a, a2));

    function test642_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test642: " + test642());

function test643() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test643_run(o, a, a2));

    function test643_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
                    }
                }
            }
            sum += (a[-1].p = -a[-1].p - 1, a[-1].p);
        }
        return sum;
    }
}
echo("test643: " + test643());

function test644() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test644_run(o, a, a2));

    function test644_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test644: " + test644());

function test645() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test645_run(o, a, a2));

    function test645_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1].p;
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test645: " + test645());

function test646() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test646_run(o, a, a2));

    function test646_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1].p;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test646: " + test646());

function test647() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test647_run(o, a, a2));

    function test647_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test647_access(o, a, i3);
                    }
                }
            }
            sum += test647_access(o, a, i0);
        }

        function test647_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test647: " + test647());

function test648() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test648_run(o, a, a2));

    function test648_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[-1].p;
                }
                sum += o.a[-1].p;
            }
        }
        return sum;
    }
}
echo("test648: " + test648());

function test649() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test649_run(o, a, a2));

    function test649_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test649: " + test649());

function test650() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test650_run(o, a, a2));

    function test650_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test650_access(o, a, i0);
        }

        function test650_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test650: " + test650());

function test651() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test651_run(o, a, a2));

    function test651_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test651_access(o, a, i1);
            }
            a = a2;
            sum += test651_access(o, a, i0);
        }

        function test651_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test651: " + test651());

function test652() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test652_run(o, a, a2));

    function test652_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[0].p;
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test652: " + test652());

function test653() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test653_run(o, a, a2));

    function test653_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0].p;
            }
            a = a2;
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test653: " + test653());

function test654() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test654_run(o, a, a2));

    function test654_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[i1].p;
            }
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test654: " + test654());

function test655() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test655_run(o, a, a2));

    function test655_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3].p;
                    }
                }
            }
            a = a2;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test655: " + test655());

function test656() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test656_run(o, a, a2));

    function test656_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test656_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test656_access(o, a, i0);
        }

        function test656_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test656: " + test656());

function test657() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test657_run(o, a, a2));

    function test657_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test657_access(o, a, i3);
                    }
                }
            }
            sum += test657_access(o, a, i0);
        }

        function test657_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test657: " + test657());

function test658() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test658_run(o, a, a2));

    function test658_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test658_access(o, a, i2);
                }
                sum += test658_access(o, a, i1);
            }
            a = a2;
        }

        function test658_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test658: " + test658());

function test659() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test659_run(o, a, a2));

    function test659_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test659_access(o, a, i2);
                }
                a = a2;
                sum += test659_access(o, a, i1);
            }
        }

        function test659_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test659: " + test659());

function test660() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test660_run(o, a, a2));

    function test660_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[i2].p;
                }
                sum += o.a[i1].p;
            }
        }
        return sum;
    }
}
echo("test660: " + test660());

function test661() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test661_run(o, a, a2));

    function test661_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3].p;
                    }
                }
            }
            a = a2;
            sum += o.a[i0].p;
        }
        return sum;
    }
}
echo("test661: " + test661());

function test662() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test662_run(o, a, a2));

    function test662_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1].p;
                    }
                }
                a = a2;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test662: " + test662());

function test663() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test663_run(o, a, a2));

    function test663_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[-1].p;
                    }
                }
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test663: " + test663());

function test664() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test664_run(o, a, a2));

    function test664_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test664_access(o, a, i0);
        }

        function test664_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test664: " + test664());

function test665() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test665_run(o, a, a2));

    function test665_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test665_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test665_access(o, a, i0);
        }

        function test665_access(o, a, i) {
            return o.a[0].p;
        }
        return sum;
    }
}
echo("test665: " + test665());

function test666() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test666_run(o, a, a2));

    function test666_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test666_access(o, a, i1);
            }
            sum += test666_access(o, a, i0);
        }

        function test666_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test666: " + test666());

function test667() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test667_run(o, a, a2));

    function test667_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test667_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test667_access(o, a, i0);
        }

        function test667_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test667: " + test667());

function test668() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test668_run(o, a, a2));

    function test668_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += o.a[-1].p;
            }
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test668: " + test668());

function test669() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test669_run(o, a, a2));

    function test669_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1].p;
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += o.a[-1].p;
        }
        return sum;
    }
}
echo("test669: " + test669());

function test670() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test670_run(o, a, a2));

    function test670_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test670: " + test670());

function test671() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test671_run(o, a, a2));

    function test671_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test671: " + test671());

function test672() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test672_run(o, a, a2));

    function test672_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test672_access(o, a, i2);
                }
                sum += test672_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test672_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test672: " + test672());

function test673() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test673_run(o, a, a2));

    function test673_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test673_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test673_access(o, a, i1);
            }
        }

        function test673_access(o, a, i) {
            return o.a[i].p;
        }
        return sum;
    }
}
echo("test673: " + test673());

function test674() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test674_run(o, a, a2));

    function test674_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test674_access(o, a, i2);
                }
                sum += test674_access(o, a, i1);
            }
        }

        function test674_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test674: " + test674());

function test675() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test675_run(o, a, a2));

    function test675_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test675_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test675_access(o, a, i0);
        }

        function test675_access(o, a, i) {
            return o.a[-1].p;
        }
        return sum;
    }
}
echo("test675: " + test675());

function test676() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test676_run(o, a, a2));

    function test676_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0].p;
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test676: " + test676());

function test677() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test677_run(o, a, a2));

    function test677_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += o.a[0].p;
                    }
                }
            }
            sum += o.a[0].p;
        }
        return sum;
    }
}
echo("test677: " + test677());

function test678() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test678_run(o, a, a2));

    function test678_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test678: " + test678());

function test679() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test679_run(o, a, a2));

    function test679_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test679: " + test679());

function test680() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test680_run(o, a, a2));

    function test680_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test680: " + test680());

function test681() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test681_run(o, a, a2));

    function test681_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test681_access(o, a, i3);
                    }
                }
            }
            sum += test681_access(o, a, i0);
        }

        function test681_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test681: " + test681());

function test682() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test682_run(o, a, a2));

    function test682_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                }
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
        }
        return sum;
    }
}
echo("test682: " + test682());

function test683() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test683_run(o, a, a2));

    function test683_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test683: " + test683());

function test684() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test684_run(o, a, a2));

    function test684_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test684_access(o, a, i0);
        }

        function test684_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test684: " + test684());

function test685() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test685_run(o, a, a2));

    function test685_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test685_access(o, a, i1);
            }
            a = a2;
            sum += test685_access(o, a, i0);
        }

        function test685_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test685: " + test685());

function test686() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test686_run(o, a, a2));

    function test686_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[i1].p = -o.a[i1].p - 1, o.a[i1].p);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test686: " + test686());

function test687() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test687_run(o, a, a2));

    function test687_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1].p = -o.a[i1].p - 1, o.a[i1].p);
            }
            a = a2;
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test687: " + test687());

function test688() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test688_run(o, a, a2));

    function test688_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test688: " + test688());

function test689() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test689_run(o, a, a2));

    function test689_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test689: " + test689());

function test690() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test690_run(o, a, a2));

    function test690_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test690_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test690_access(o, a, i0);
        }

        function test690_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test690: " + test690());

function test691() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test691_run(o, a, a2));

    function test691_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test691_access(o, a, i3);
                    }
                }
            }
            sum += test691_access(o, a, i0);
        }

        function test691_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test691: " + test691());

function test692() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test692_run(o, a, a2));

    function test692_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test692_access(o, a, i2);
                }
                sum += test692_access(o, a, i1);
            }
            a = a2;
        }

        function test692_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test692: " + test692());

function test693() {
    "use strict";

    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test693_run(o, a, a2));

    function test693_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test693_access(o, a, i2);
                }
                a = a2;
                sum += test693_access(o, a, i1);
            }
        }

        function test693_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test693: " + test693());

function test694() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test694_run(o, a, a2));

    function test694_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                }
                sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
            }
        }
        return sum;
    }
}
echo("test694: " + test694());

function test695() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test695_run(o, a, a2));

    function test695_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test695: " + test695());

function test696() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test696_run(o, a, a2));

    function test696_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
                a = a2;
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test696: " + test696());

function test697() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test697_run(o, a, a2));

    function test697_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test697: " + test697());

function test698() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test698_run(o, a, a2));

    function test698_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_object(a);
            sum += test698_access(o, a, i0);
        }

        function test698_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test698: " + test698());

function test699() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test699_run(o, a, a2));

    function test699_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test699_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test699_access(o, a, i0);
        }

        function test699_access(o, a, i) {
            return (o.a[i].p = -o.a[i].p - 1, o.a[i].p);
        }
        return sum;
    }
}
echo("test699: " + test699());

function test700() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test700_run(o, a, a2));

    function test700_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += test700_access(o, a, i1);
            }
            sum += test700_access(o, a, i0);
        }

        function test700_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test700: " + test700());

function test701() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test701_run(o, a, a2));

    function test701_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test701_access(o, a, i1);
            }
            changeToEs5Array_object(a);
            sum += test701_access(o, a, i0);
        }

        function test701_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test701: " + test701());

function test702() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test702_run(o, a, a2));

    function test702_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_object(a);
                sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
            }
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test702: " + test702());

function test703() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test703_run(o, a, a2));

    function test703_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test703: " + test703());

function test704() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test704_run(o, a, a2));

    function test704_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test704: " + test704());

function test705() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test705_run(o, a, a2));

    function test705_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test705: " + test705());

function test706() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test706_run(o, a, a2));

    function test706_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test706_access(o, a, i2);
                }
                sum += test706_access(o, a, i1);
            }
            changeToEs5Array_object(a);
        }

        function test706_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test706: " + test706());

function test707() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test707_run(o, a, a2));

    function test707_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test707_access(o, a, i2);
                }
                changeToEs5Array_object(a);
                sum += test707_access(o, a, i1);
            }
        }

        function test707_access(o, a, i) {
            return (o.a[-1].p = -o.a[-1].p - 1, o.a[-1].p);
        }
        return sum;
    }
}
echo("test707: " + test707());

function test708() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test708_run(o, a, a2));

    function test708_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                    }
                    sum += test708_access(o, a, i2);
                }
                sum += test708_access(o, a, i1);
            }
        }

        function test708_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test708: " + test708());

function test709() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test709_run(o, a, a2));

    function test709_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test709_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_object(a);
            sum += test709_access(o, a, i0);
        }

        function test709_access(o, a, i) {
            return (o.a[0].p = -o.a[0].p - 1, o.a[0].p);
        }
        return sum;
    }
}
echo("test709: " + test709());

function test710() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test710_run(o, a, a2));

    function test710_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
                changeToEs5Array_object(a);
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test710: " + test710());

function test711() {
    var o = {
        a: [ { p: 1 }, { p: 2 } ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = { p: -a[i].p };
    return toSafeInt(test711_run(o, a, a2));

    function test711_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_object(a);
                        sum += (o.a[i3].p = -o.a[i3].p - 1, o.a[i3].p);
                    }
                }
            }
            sum += (o.a[i0].p = -o.a[i0].p - 1, o.a[i0].p);
        }
        return sum;
    }
}
echo("test711: " + test711());

function test712() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test712_run(o, a, a2));

    function test712_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[0];
        }
        return sum;
    }
}
echo("test712: " + test712());

function test713() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test713_run(o, a, a2));

    function test713_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test713: " + test713());

function test714() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test714_run(o, a, a2));

    function test714_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test714: " + test714());

function test715() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test715_run(o, a, a2));

    function test715_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test715_access(o, a, i3);
                    }
                }
            }
            sum += test715_access(o, a, i0);
        }

        function test715_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test715: " + test715());

function test716() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test716_run(o, a, a2));

    function test716_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[i2];
                }
                sum += a[i1];
            }
        }
        return sum;
    }
}
echo("test716: " + test716());

function test717() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test717_run(o, a, a2));

    function test717_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test717: " + test717());

function test718() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test718_run(o, a, a2));

    function test718_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test718_access(o, a, i0);
        }

        function test718_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test718: " + test718());

function test719() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test719_run(o, a, a2));

    function test719_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test719_access(o, a, i1);
            }
            a = a2;
            sum += test719_access(o, a, i0);
        }

        function test719_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test719: " + test719());

function test720() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test720_run(o, a, a2));

    function test720_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test720: " + test720());

function test721() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test721_run(o, a, a2));

    function test721_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1];
            }
            a = a2;
            sum += a[-1];
        }
        return sum;
    }
}
echo("test721: " + test721());

function test722() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test722_run(o, a, a2));

    function test722_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test722: " + test722());

function test723() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test723_run(o, a, a2));

    function test723_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test723: " + test723());

function test724() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test724_run(o, a, a2));

    function test724_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test724_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test724_access(o, a, i0);
        }

        function test724_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test724: " + test724());

function test725() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test725_run(o, a, a2));

    function test725_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test725_access(o, a, i3);
                    }
                }
            }
            sum += test725_access(o, a, i0);
        }

        function test725_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test725: " + test725());

function test726() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test726_run(o, a, a2));

    function test726_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test726_access(o, a, i2);
                }
                sum += test726_access(o, a, i1);
            }
            a = a2;
        }

        function test726_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test726: " + test726());

function test727() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test727_run(o, a, a2));

    function test727_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test727_access(o, a, i2);
                }
                a = a2;
                sum += test727_access(o, a, i1);
            }
        }

        function test727_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test727: " + test727());

function test728() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test728_run(o, a, a2));

    function test728_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[0];
                }
                sum += a[0];
            }
        }
        return sum;
    }
}
echo("test728: " + test728());

function test729() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test729_run(o, a, a2));

    function test729_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test729: " + test729());

function test730() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test730_run(o, a, a2));

    function test730_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
                a = a2;
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test730: " + test730());

function test731() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test731_run(o, a, a2));

    function test731_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test731: " + test731());

function test732() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test732_run(o, a, a2));

    function test732_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test732_access(o, a, i0);
        }

        function test732_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test732: " + test732());

function test733() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test733_run(o, a, a2));

    function test733_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test733_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test733_access(o, a, i0);
        }

        function test733_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test733: " + test733());

function test734() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test734_run(o, a, a2));

    function test734_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test734_access(o, a, i1);
            }
            sum += test734_access(o, a, i0);
        }

        function test734_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test734: " + test734());

function test735() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test735_run(o, a, a2));

    function test735_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test735_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test735_access(o, a, i0);
        }

        function test735_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test735: " + test735());

function test736() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test736_run(o, a, a2));

    function test736_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test736: " + test736());

function test737() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test737_run(o, a, a2));

    function test737_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += a[i0];
        }
        return sum;
    }
}
echo("test737: " + test737());

function test738() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test738_run(o, a, a2));

    function test738_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test738: " + test738());

function test739() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test739_run(o, a, a2));

    function test739_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test739: " + test739());

function test740() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test740_run(o, a, a2));

    function test740_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test740_access(o, a, i2);
                }
                sum += test740_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test740_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test740: " + test740());

function test741() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test741_run(o, a, a2));

    function test741_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test741_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test741_access(o, a, i1);
            }
        }

        function test741_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test741: " + test741());

function test742() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test742_run(o, a, a2));

    function test742_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test742_access(o, a, i2);
                }
                sum += test742_access(o, a, i1);
            }
        }

        function test742_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test742: " + test742());

function test743() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test743_run(o, a, a2));

    function test743_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test743_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test743_access(o, a, i0);
        }

        function test743_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test743: " + test743());

function test744() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test744_run(o, a, a2));

    function test744_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test744: " + test744());

function test745() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test745_run(o, a, a2));

    function test745_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test745: " + test745());

function test746() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test746_run(o, a, a2));

    function test746_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test746: " + test746());

function test747() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test747_run(o, a, a2));

    function test747_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test747: " + test747());

function test748() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test748_run(o, a, a2));

    function test748_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test748: " + test748());

function test749() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test749_run(o, a, a2));

    function test749_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test749_access(o, a, i3);
                    }
                }
            }
            sum += test749_access(o, a, i0);
        }

        function test749_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test749: " + test749());

function test750() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test750_run(o, a, a2));

    function test750_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
        }
        return sum;
    }
}
echo("test750: " + test750());

function test751() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test751_run(o, a, a2));

    function test751_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test751: " + test751());

function test752() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test752_run(o, a, a2));

    function test752_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test752_access(o, a, i0);
        }

        function test752_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test752: " + test752());

function test753() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test753_run(o, a, a2));

    function test753_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test753_access(o, a, i1);
            }
            a = a2;
            sum += test753_access(o, a, i0);
        }

        function test753_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test753: " + test753());

function test754() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test754_run(o, a, a2));

    function test754_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test754: " + test754());

function test755() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test755_run(o, a, a2));

    function test755_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            a = a2;
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test755: " + test755());

function test756() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test756_run(o, a, a2));

    function test756_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test756: " + test756());

function test757() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test757_run(o, a, a2));

    function test757_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test757: " + test757());

function test758() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test758_run(o, a, a2));

    function test758_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test758_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test758_access(o, a, i0);
        }

        function test758_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test758: " + test758());

function test759() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test759_run(o, a, a2));

    function test759_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test759_access(o, a, i3);
                    }
                }
            }
            sum += test759_access(o, a, i0);
        }

        function test759_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test759: " + test759());

function test760() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test760_run(o, a, a2));

    function test760_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test760_access(o, a, i2);
                }
                sum += test760_access(o, a, i1);
            }
            a = a2;
        }

        function test760_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test760: " + test760());

function test761() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test761_run(o, a, a2));

    function test761_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test761_access(o, a, i2);
                }
                a = a2;
                sum += test761_access(o, a, i1);
            }
        }

        function test761_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test761: " + test761());

function test762() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test762_run(o, a, a2));

    function test762_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[i2] = -a[i2] - 1, a[i2]);
                }
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
        }
        return sum;
    }
}
echo("test762: " + test762());

function test763() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test763_run(o, a, a2));

    function test763_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test763: " + test763());

function test764() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test764_run(o, a, a2));

    function test764_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
                a = a2;
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test764: " + test764());

function test765() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test765_run(o, a, a2));

    function test765_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test765: " + test765());

function test766() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test766_run(o, a, a2));

    function test766_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test766_access(o, a, i0);
        }

        function test766_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test766: " + test766());

function test767() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test767_run(o, a, a2));

    function test767_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test767_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test767_access(o, a, i0);
        }

        function test767_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test767: " + test767());

function test768() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test768_run(o, a, a2));

    function test768_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test768_access(o, a, i1);
            }
            sum += test768_access(o, a, i0);
        }

        function test768_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test768: " + test768());

function test769() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test769_run(o, a, a2));

    function test769_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test769_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test769_access(o, a, i0);
        }

        function test769_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test769: " + test769());

function test770() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test770_run(o, a, a2));

    function test770_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test770: " + test770());

function test771() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test771_run(o, a, a2));

    function test771_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test771: " + test771());

function test772() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test772_run(o, a, a2));

    function test772_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test772: " + test772());

function test773() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test773_run(o, a, a2));

    function test773_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test773: " + test773());

function test774() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test774_run(o, a, a2));

    function test774_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test774_access(o, a, i2);
                }
                sum += test774_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test774_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test774: " + test774());

function test775() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test775_run(o, a, a2));

    function test775_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test775_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test775_access(o, a, i1);
            }
        }

        function test775_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test775: " + test775());

function test776() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test776_run(o, a, a2));

    function test776_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test776_access(o, a, i2);
                }
                sum += test776_access(o, a, i1);
            }
        }

        function test776_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test776: " + test776());

function test777() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test777_run(o, a, a2));

    function test777_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test777_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test777_access(o, a, i0);
        }

        function test777_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test777: " + test777());

function test778() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test778_run(o, a, a2));

    function test778_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test778: " + test778());

function test779() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test779_run(o, a, a2));

    function test779_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test779: " + test779());

function test780() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test780_run(o, a, a2));

    function test780_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test780: " + test780());

function test781() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test781_run(o, a, a2));

    function test781_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test781: " + test781());

function test782() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test782_run(o, a, a2));

    function test782_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test782: " + test782());

function test783() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test783_run(o, a, a2));

    function test783_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test783_access(o, a, i3);
                    }
                }
            }
            sum += test783_access(o, a, i0);
        }

        function test783_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test783: " + test783());

function test784() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test784_run(o, a, a2));

    function test784_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[0];
                }
                sum += o.a[0];
            }
        }
        return sum;
    }
}
echo("test784: " + test784());

function test785() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test785_run(o, a, a2));

    function test785_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test785: " + test785());

function test786() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test786_run(o, a, a2));

    function test786_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test786_access(o, a, i0);
        }

        function test786_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test786: " + test786());

function test787() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test787_run(o, a, a2));

    function test787_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test787_access(o, a, i1);
            }
            a = a2;
            sum += test787_access(o, a, i0);
        }

        function test787_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test787: " + test787());

function test788() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test788_run(o, a, a2));

    function test788_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test788: " + test788());

function test789() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test789_run(o, a, a2));

    function test789_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1];
            }
            a = a2;
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test789: " + test789());

function test790() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test790_run(o, a, a2));

    function test790_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test790: " + test790());

function test791() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test791_run(o, a, a2));

    function test791_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test791: " + test791());

function test792() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test792_run(o, a, a2));

    function test792_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test792_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test792_access(o, a, i0);
        }

        function test792_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test792: " + test792());

function test793() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test793_run(o, a, a2));

    function test793_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test793_access(o, a, i3);
                    }
                }
            }
            sum += test793_access(o, a, i0);
        }

        function test793_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test793: " + test793());

function test794() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test794_run(o, a, a2));

    function test794_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test794_access(o, a, i2);
                }
                sum += test794_access(o, a, i1);
            }
            a = a2;
        }

        function test794_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test794: " + test794());

function test795() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test795_run(o, a, a2));

    function test795_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test795_access(o, a, i2);
                }
                a = a2;
                sum += test795_access(o, a, i1);
            }
        }

        function test795_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test795: " + test795());

function test796() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test796_run(o, a, a2));

    function test796_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[-1];
                }
                sum += o.a[-1];
            }
        }
        return sum;
    }
}
echo("test796: " + test796());

function test797() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test797_run(o, a, a2));

    function test797_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test797: " + test797());

function test798() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test798_run(o, a, a2));

    function test798_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
                a = a2;
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test798: " + test798());

function test799() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test799_run(o, a, a2));

    function test799_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test799: " + test799());

function test800() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test800_run(o, a, a2));

    function test800_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test800_access(o, a, i0);
        }

        function test800_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test800: " + test800());

function test801() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test801_run(o, a, a2));

    function test801_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test801_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test801_access(o, a, i0);
        }

        function test801_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test801: " + test801());

function test802() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test802_run(o, a, a2));

    function test802_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test802_access(o, a, i1);
            }
            sum += test802_access(o, a, i0);
        }

        function test802_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test802: " + test802());

function test803() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test803_run(o, a, a2));

    function test803_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test803_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test803_access(o, a, i0);
        }

        function test803_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test803: " + test803());

function test804() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test804_run(o, a, a2));

    function test804_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test804: " + test804());

function test805() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test805_run(o, a, a2));

    function test805_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test805: " + test805());

function test806() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test806_run(o, a, a2));

    function test806_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test806: " + test806());

function test807() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test807_run(o, a, a2));

    function test807_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test807: " + test807());

function test808() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test808_run(o, a, a2));

    function test808_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test808_access(o, a, i2);
                }
                sum += test808_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test808_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test808: " + test808());

function test809() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test809_run(o, a, a2));

    function test809_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test809_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test809_access(o, a, i1);
            }
        }

        function test809_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test809: " + test809());

function test810() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test810_run(o, a, a2));

    function test810_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test810_access(o, a, i2);
                }
                sum += test810_access(o, a, i1);
            }
        }

        function test810_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test810: " + test810());

function test811() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test811_run(o, a, a2));

    function test811_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test811_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test811_access(o, a, i0);
        }

        function test811_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test811: " + test811());

function test812() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test812_run(o, a, a2));

    function test812_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test812: " + test812());

function test813() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test813_run(o, a, a2));

    function test813_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test813: " + test813());

function test814() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test814_run(o, a, a2));

    function test814_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test814: " + test814());

function test815() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test815_run(o, a, a2));

    function test815_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test815: " + test815());

function test816() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test816_run(o, a, a2));

    function test816_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test816: " + test816());

function test817() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test817_run(o, a, a2));

    function test817_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test817_access(o, a, i3);
                    }
                }
            }
            sum += test817_access(o, a, i0);
        }

        function test817_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test817: " + test817());

function test818() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test818_run(o, a, a2));

    function test818_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
        }
        return sum;
    }
}
echo("test818: " + test818());

function test819() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test819_run(o, a, a2));

    function test819_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test819: " + test819());

function test820() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test820_run(o, a, a2));

    function test820_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test820_access(o, a, i0);
        }

        function test820_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test820: " + test820());

function test821() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test821_run(o, a, a2));

    function test821_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test821_access(o, a, i1);
            }
            a = a2;
            sum += test821_access(o, a, i0);
        }

        function test821_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test821: " + test821());

function test822() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test822_run(o, a, a2));

    function test822_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test822: " + test822());

function test823() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test823_run(o, a, a2));

    function test823_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            a = a2;
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test823: " + test823());

function test824() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test824_run(o, a, a2));

    function test824_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test824: " + test824());

function test825() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test825_run(o, a, a2));

    function test825_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test825: " + test825());

function test826() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test826_run(o, a, a2));

    function test826_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test826_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test826_access(o, a, i0);
        }

        function test826_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test826: " + test826());

function test827() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test827_run(o, a, a2));

    function test827_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test827_access(o, a, i3);
                    }
                }
            }
            sum += test827_access(o, a, i0);
        }

        function test827_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test827: " + test827());

function test828() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test828_run(o, a, a2));

    function test828_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test828_access(o, a, i2);
                }
                sum += test828_access(o, a, i1);
            }
            a = a2;
        }

        function test828_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test828: " + test828());

function test829() {
    "use strict";

    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test829_run(o, a, a2));

    function test829_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test829_access(o, a, i2);
                }
                a = a2;
                sum += test829_access(o, a, i1);
            }
        }

        function test829_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test829: " + test829());

function test830() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test830_run(o, a, a2));

    function test830_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                }
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
        }
        return sum;
    }
}
echo("test830: " + test830());

function test831() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test831_run(o, a, a2));

    function test831_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test831: " + test831());

function test832() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test832_run(o, a, a2));

    function test832_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
                a = a2;
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test832: " + test832());

function test833() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test833_run(o, a, a2));

    function test833_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test833: " + test833());

function test834() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test834_run(o, a, a2));

    function test834_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test834_access(o, a, i0);
        }

        function test834_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test834: " + test834());

function test835() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test835_run(o, a, a2));

    function test835_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test835_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test835_access(o, a, i0);
        }

        function test835_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test835: " + test835());

function test836() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test836_run(o, a, a2));

    function test836_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test836_access(o, a, i1);
            }
            sum += test836_access(o, a, i0);
        }

        function test836_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test836: " + test836());

function test837() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test837_run(o, a, a2));

    function test837_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test837_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test837_access(o, a, i0);
        }

        function test837_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test837: " + test837());

function test838() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test838_run(o, a, a2));

    function test838_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test838: " + test838());

function test839() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test839_run(o, a, a2));

    function test839_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test839: " + test839());

function test840() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test840_run(o, a, a2));

    function test840_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test840: " + test840());

function test841() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test841_run(o, a, a2));

    function test841_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test841: " + test841());

function test842() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test842_run(o, a, a2));

    function test842_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test842_access(o, a, i2);
                }
                sum += test842_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test842_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test842: " + test842());

function test843() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test843_run(o, a, a2));

    function test843_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test843_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test843_access(o, a, i1);
            }
        }

        function test843_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test843: " + test843());

function test844() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test844_run(o, a, a2));

    function test844_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test844_access(o, a, i2);
                }
                sum += test844_access(o, a, i1);
            }
        }

        function test844_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test844: " + test844());

function test845() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test845_run(o, a, a2));

    function test845_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test845_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test845_access(o, a, i0);
        }

        function test845_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test845: " + test845());

function test846() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test846_run(o, a, a2));

    function test846_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test846: " + test846());

function test847() {
    var o = {
        a: [ 1, 2 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test847_run(o, a, a2));

    function test847_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test847: " + test847());

function test848() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test848_run(o, a, a2));

    function test848_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test848: " + test848());

function test849() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test849_run(o, a, a2));

    function test849_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test849: " + test849());

function test850() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test850_run(o, a, a2));

    function test850_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test850: " + test850());

function test851() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test851_run(o, a, a2));

    function test851_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test851_access(o, a, i3);
                    }
                }
            }
            sum += test851_access(o, a, i0);
        }

        function test851_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test851: " + test851());

function test852() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test852_run(o, a, a2));

    function test852_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[-1];
                }
                sum += a[-1];
            }
        }
        return sum;
    }
}
echo("test852: " + test852());

function test853() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test853_run(o, a, a2));

    function test853_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test853: " + test853());

function test854() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test854_run(o, a, a2));

    function test854_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test854_access(o, a, i0);
        }

        function test854_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test854: " + test854());

function test855() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test855_run(o, a, a2));

    function test855_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test855_access(o, a, i1);
            }
            a = a2;
            sum += test855_access(o, a, i0);
        }

        function test855_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test855: " + test855());

function test856() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test856_run(o, a, a2));

    function test856_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test856: " + test856());

function test857() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test857_run(o, a, a2));

    function test857_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            a = a2;
            sum += a[0];
        }
        return sum;
    }
}
echo("test857: " + test857());

function test858() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test858_run(o, a, a2));

    function test858_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test858: " + test858());

function test859() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test859_run(o, a, a2));

    function test859_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            a = a2;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test859: " + test859());

function test860() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test860_run(o, a, a2));

    function test860_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test860_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test860_access(o, a, i0);
        }

        function test860_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test860: " + test860());

function test861() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test861_run(o, a, a2));

    function test861_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test861_access(o, a, i3);
                    }
                }
            }
            sum += test861_access(o, a, i0);
        }

        function test861_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test861: " + test861());

function test862() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test862_run(o, a, a2));

    function test862_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test862_access(o, a, i2);
                }
                sum += test862_access(o, a, i1);
            }
            a = a2;
        }

        function test862_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test862: " + test862());

function test863() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test863_run(o, a, a2));

    function test863_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test863_access(o, a, i2);
                }
                a = a2;
                sum += test863_access(o, a, i1);
            }
        }

        function test863_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test863: " + test863());

function test864() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test864_run(o, a, a2));

    function test864_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[i2];
                }
                sum += a[i1];
            }
        }
        return sum;
    }
}
echo("test864: " + test864());

function test865() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test865_run(o, a, a2));

    function test865_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            a = a2;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test865: " + test865());

function test866() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test866_run(o, a, a2));

    function test866_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
                a = a2;
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test866: " + test866());

function test867() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test867_run(o, a, a2));

    function test867_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[-1];
                    }
                }
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test867: " + test867());

function test868() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test868_run(o, a, a2));

    function test868_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test868_access(o, a, i0);
        }

        function test868_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test868: " + test868());

function test869() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test869_run(o, a, a2));

    function test869_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test869_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test869_access(o, a, i0);
        }

        function test869_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test869: " + test869());

function test870() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test870_run(o, a, a2));

    function test870_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test870_access(o, a, i1);
            }
            sum += test870_access(o, a, i0);
        }

        function test870_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test870: " + test870());

function test871() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test871_run(o, a, a2));

    function test871_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test871_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test871_access(o, a, i0);
        }

        function test871_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test871: " + test871());

function test872() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test872_run(o, a, a2));

    function test872_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test872: " + test872());

function test873() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test873_run(o, a, a2));

    function test873_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += a[-1];
        }
        return sum;
    }
}
echo("test873: " + test873());

function test874() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test874_run(o, a, a2));

    function test874_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test874: " + test874());

function test875() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test875_run(o, a, a2));

    function test875_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test875: " + test875());

function test876() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test876_run(o, a, a2));

    function test876_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test876_access(o, a, i2);
                }
                sum += test876_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test876_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test876: " + test876());

function test877() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test877_run(o, a, a2));

    function test877_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test877_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test877_access(o, a, i1);
            }
        }

        function test877_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test877: " + test877());

function test878() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test878_run(o, a, a2));

    function test878_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test878_access(o, a, i2);
                }
                sum += test878_access(o, a, i1);
            }
        }

        function test878_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test878: " + test878());

function test879() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test879_run(o, a, a2));

    function test879_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test879_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test879_access(o, a, i0);
        }

        function test879_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test879: " + test879());

function test880() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test880_run(o, a, a2));

    function test880_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test880: " + test880());

function test881() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test881_run(o, a, a2));

    function test881_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test881: " + test881());

function test882() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test882_run(o, a, a2));

    function test882_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test882: " + test882());

function test883() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test883_run(o, a, a2));

    function test883_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test883: " + test883());

function test884() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test884_run(o, a, a2));

    function test884_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test884: " + test884());

function test885() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test885_run(o, a, a2));

    function test885_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test885_access(o, a, i3);
                    }
                }
            }
            sum += test885_access(o, a, i0);
        }

        function test885_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test885: " + test885());

function test886() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test886_run(o, a, a2));

    function test886_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[0] = -a[0] - 1, a[0]);
                }
                sum += (a[0] = -a[0] - 1, a[0]);
            }
        }
        return sum;
    }
}
echo("test886: " + test886());

function test887() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test887_run(o, a, a2));

    function test887_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test887: " + test887());

function test888() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test888_run(o, a, a2));

    function test888_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test888_access(o, a, i0);
        }

        function test888_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test888: " + test888());

function test889() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test889_run(o, a, a2));

    function test889_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test889_access(o, a, i1);
            }
            a = a2;
            sum += test889_access(o, a, i0);
        }

        function test889_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test889: " + test889());

function test890() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test890_run(o, a, a2));

    function test890_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test890: " + test890());

function test891() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test891_run(o, a, a2));

    function test891_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            a = a2;
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test891: " + test891());

function test892() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test892_run(o, a, a2));

    function test892_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test892: " + test892());

function test893() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test893_run(o, a, a2));

    function test893_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            a = a2;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test893: " + test893());

function test894() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test894_run(o, a, a2));

    function test894_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test894_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test894_access(o, a, i0);
        }

        function test894_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test894: " + test894());

function test895() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test895_run(o, a, a2));

    function test895_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test895_access(o, a, i3);
                    }
                }
            }
            sum += test895_access(o, a, i0);
        }

        function test895_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test895: " + test895());

function test896() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test896_run(o, a, a2));

    function test896_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test896_access(o, a, i2);
                }
                sum += test896_access(o, a, i1);
            }
            a = a2;
        }

        function test896_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test896: " + test896());

function test897() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test897_run(o, a, a2));

    function test897_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test897_access(o, a, i2);
                }
                a = a2;
                sum += test897_access(o, a, i1);
            }
        }

        function test897_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test897: " + test897());

function test898() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test898_run(o, a, a2));

    function test898_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[-1] = -a[-1] - 1, a[-1]);
                }
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
        }
        return sum;
    }
}
echo("test898: " + test898());

function test899() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test899_run(o, a, a2));

    function test899_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            a = a2;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test899: " + test899());

function test900() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test900_run(o, a, a2));

    function test900_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
                a = a2;
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test900: " + test900());

function test901() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test901_run(o, a, a2));

    function test901_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test901: " + test901());

function test902() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test902_run(o, a, a2));

    function test902_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test902_access(o, a, i0);
        }

        function test902_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test902: " + test902());

function test903() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test903_run(o, a, a2));

    function test903_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test903_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test903_access(o, a, i0);
        }

        function test903_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test903: " + test903());

function test904() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test904_run(o, a, a2));

    function test904_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test904_access(o, a, i1);
            }
            sum += test904_access(o, a, i0);
        }

        function test904_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test904: " + test904());

function test905() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test905_run(o, a, a2));

    function test905_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test905_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test905_access(o, a, i0);
        }

        function test905_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test905: " + test905());

function test906() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test906_run(o, a, a2));

    function test906_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test906: " + test906());

function test907() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test907_run(o, a, a2));

    function test907_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test907: " + test907());

function test908() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test908_run(o, a, a2));

    function test908_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test908: " + test908());

function test909() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test909_run(o, a, a2));

    function test909_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test909: " + test909());

function test910() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test910_run(o, a, a2));

    function test910_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test910_access(o, a, i2);
                }
                sum += test910_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test910_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test910: " + test910());

function test911() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test911_run(o, a, a2));

    function test911_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test911_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test911_access(o, a, i1);
            }
        }

        function test911_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test911: " + test911());

function test912() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test912_run(o, a, a2));

    function test912_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test912_access(o, a, i2);
                }
                sum += test912_access(o, a, i1);
            }
        }

        function test912_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test912: " + test912());

function test913() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test913_run(o, a, a2));

    function test913_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test913_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test913_access(o, a, i0);
        }

        function test913_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test913: " + test913());

function test914() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test914_run(o, a, a2));

    function test914_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test914: " + test914());

function test915() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test915_run(o, a, a2));

    function test915_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test915: " + test915());

function test916() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test916_run(o, a, a2));

    function test916_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test916: " + test916());

function test917() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test917_run(o, a, a2));

    function test917_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test917: " + test917());

function test918() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test918_run(o, a, a2));

    function test918_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test918: " + test918());

function test919() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test919_run(o, a, a2));

    function test919_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test919_access(o, a, i3);
                    }
                }
            }
            sum += test919_access(o, a, i0);
        }

        function test919_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test919: " + test919());

function test920() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test920_run(o, a, a2));

    function test920_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[i2];
                }
                sum += o.a[i1];
            }
        }
        return sum;
    }
}
echo("test920: " + test920());

function test921() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test921_run(o, a, a2));

    function test921_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test921: " + test921());

function test922() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test922_run(o, a, a2));

    function test922_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test922_access(o, a, i0);
        }

        function test922_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test922: " + test922());

function test923() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test923_run(o, a, a2));

    function test923_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test923_access(o, a, i1);
            }
            a = a2;
            sum += test923_access(o, a, i0);
        }

        function test923_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test923: " + test923());

function test924() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test924_run(o, a, a2));

    function test924_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test924: " + test924());

function test925() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test925_run(o, a, a2));

    function test925_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            a = a2;
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test925: " + test925());

function test926() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test926_run(o, a, a2));

    function test926_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test926: " + test926());

function test927() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test927_run(o, a, a2));

    function test927_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            a = a2;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test927: " + test927());

function test928() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test928_run(o, a, a2));

    function test928_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test928_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test928_access(o, a, i0);
        }

        function test928_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test928: " + test928());

function test929() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test929_run(o, a, a2));

    function test929_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test929_access(o, a, i3);
                    }
                }
            }
            sum += test929_access(o, a, i0);
        }

        function test929_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test929: " + test929());

function test930() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test930_run(o, a, a2));

    function test930_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test930_access(o, a, i2);
                }
                sum += test930_access(o, a, i1);
            }
            a = a2;
        }

        function test930_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test930: " + test930());

function test931() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test931_run(o, a, a2));

    function test931_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test931_access(o, a, i2);
                }
                a = a2;
                sum += test931_access(o, a, i1);
            }
        }

        function test931_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test931: " + test931());

function test932() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test932_run(o, a, a2));

    function test932_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[0];
                }
                sum += o.a[0];
            }
        }
        return sum;
    }
}
echo("test932: " + test932());

function test933() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test933_run(o, a, a2));

    function test933_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            a = a2;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test933: " + test933());

function test934() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test934_run(o, a, a2));

    function test934_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
                a = a2;
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test934: " + test934());

function test935() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test935_run(o, a, a2));

    function test935_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[i3];
                    }
                }
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test935: " + test935());

function test936() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test936_run(o, a, a2));

    function test936_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test936_access(o, a, i0);
        }

        function test936_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test936: " + test936());

function test937() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test937_run(o, a, a2));

    function test937_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test937_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test937_access(o, a, i0);
        }

        function test937_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test937: " + test937());

function test938() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test938_run(o, a, a2));

    function test938_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test938_access(o, a, i1);
            }
            sum += test938_access(o, a, i0);
        }

        function test938_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test938: " + test938());

function test939() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test939_run(o, a, a2));

    function test939_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test939_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test939_access(o, a, i0);
        }

        function test939_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test939: " + test939());

function test940() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test940_run(o, a, a2));

    function test940_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test940: " + test940());

function test941() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test941_run(o, a, a2));

    function test941_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test941: " + test941());

function test942() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test942_run(o, a, a2));

    function test942_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test942: " + test942());

function test943() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test943_run(o, a, a2));

    function test943_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test943: " + test943());

function test944() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test944_run(o, a, a2));

    function test944_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test944_access(o, a, i2);
                }
                sum += test944_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test944_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test944: " + test944());

function test945() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test945_run(o, a, a2));

    function test945_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test945_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test945_access(o, a, i1);
            }
        }

        function test945_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test945: " + test945());

function test946() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test946_run(o, a, a2));

    function test946_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test946_access(o, a, i2);
                }
                sum += test946_access(o, a, i1);
            }
        }

        function test946_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test946: " + test946());

function test947() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test947_run(o, a, a2));

    function test947_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test947_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test947_access(o, a, i0);
        }

        function test947_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test947: " + test947());

function test948() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test948_run(o, a, a2));

    function test948_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test948: " + test948());

function test949() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test949_run(o, a, a2));

    function test949_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test949: " + test949());

function test950() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test950_run(o, a, a2));

    function test950_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test950: " + test950());

function test951() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test951_run(o, a, a2));

    function test951_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test951: " + test951());

function test952() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test952_run(o, a, a2));

    function test952_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test952: " + test952());

function test953() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test953_run(o, a, a2));

    function test953_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test953_access(o, a, i3);
                    }
                }
            }
            sum += test953_access(o, a, i0);
        }

        function test953_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test953: " + test953());

function test954() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test954_run(o, a, a2));

    function test954_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                }
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
        }
        return sum;
    }
}
echo("test954: " + test954());

function test955() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test955_run(o, a, a2));

    function test955_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test955: " + test955());

function test956() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test956_run(o, a, a2));

    function test956_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test956_access(o, a, i0);
        }

        function test956_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test956: " + test956());

function test957() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test957_run(o, a, a2));

    function test957_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test957_access(o, a, i1);
            }
            a = a2;
            sum += test957_access(o, a, i0);
        }

        function test957_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test957: " + test957());

function test958() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test958_run(o, a, a2));

    function test958_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test958: " + test958());

function test959() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test959_run(o, a, a2));

    function test959_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            a = a2;
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test959: " + test959());

function test960() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test960_run(o, a, a2));

    function test960_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test960: " + test960());

function test961() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test961_run(o, a, a2));

    function test961_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            a = a2;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test961: " + test961());

function test962() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test962_run(o, a, a2));

    function test962_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test962_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test962_access(o, a, i0);
        }

        function test962_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test962: " + test962());

function test963() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test963_run(o, a, a2));

    function test963_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test963_access(o, a, i3);
                    }
                }
            }
            sum += test963_access(o, a, i0);
        }

        function test963_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test963: " + test963());

function test964() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test964_run(o, a, a2));

    function test964_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test964_access(o, a, i2);
                }
                sum += test964_access(o, a, i1);
            }
            a = a2;
        }

        function test964_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test964: " + test964());

function test965() {
    "use strict";

    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test965_run(o, a, a2));

    function test965_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test965_access(o, a, i2);
                }
                a = a2;
                sum += test965_access(o, a, i1);
            }
        }

        function test965_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test965: " + test965());

function test966() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test966_run(o, a, a2));

    function test966_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[i2] = -o.a[i2] - 1, o.a[i2]);
                }
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
        }
        return sum;
    }
}
echo("test966: " + test966());

function test967() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test967_run(o, a, a2));

    function test967_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            a = a2;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test967: " + test967());

function test968() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test968_run(o, a, a2));

    function test968_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
                a = a2;
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test968: " + test968());

function test969() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test969_run(o, a, a2));

    function test969_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test969: " + test969());

function test970() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test970_run(o, a, a2));

    function test970_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            changeToEs5Array_int32(a);
            sum += test970_access(o, a, i0);
        }

        function test970_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test970: " + test970());

function test971() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test971_run(o, a, a2));

    function test971_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test971_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test971_access(o, a, i0);
        }

        function test971_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test971: " + test971());

function test972() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test972_run(o, a, a2));

    function test972_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += test972_access(o, a, i1);
            }
            sum += test972_access(o, a, i0);
        }

        function test972_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test972: " + test972());

function test973() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test973_run(o, a, a2));

    function test973_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test973_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
            sum += test973_access(o, a, i0);
        }

        function test973_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test973: " + test973());

function test974() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test974_run(o, a, a2));

    function test974_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                changeToEs5Array_int32(a);
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test974: " + test974());

function test975() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test975_run(o, a, a2));

    function test975_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test975: " + test975());

function test976() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test976_run(o, a, a2));

    function test976_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test976: " + test976());

function test977() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test977_run(o, a, a2));

    function test977_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test977: " + test977());

function test978() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test978_run(o, a, a2));

    function test978_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test978_access(o, a, i2);
                }
                sum += test978_access(o, a, i1);
            }
            changeToEs5Array_int32(a);
        }

        function test978_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test978: " + test978());

function test979() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test979_run(o, a, a2));

    function test979_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test979_access(o, a, i2);
                }
                changeToEs5Array_int32(a);
                sum += test979_access(o, a, i1);
            }
        }

        function test979_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test979: " + test979());

function test980() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test980_run(o, a, a2));

    function test980_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                    }
                    sum += test980_access(o, a, i2);
                }
                sum += test980_access(o, a, i1);
            }
        }

        function test980_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test980: " + test980());

function test981() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test981_run(o, a, a2));

    function test981_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test981_access(o, a, i3);
                    }
                }
            }
            changeToEs5Array_int32(a);
            sum += test981_access(o, a, i0);
        }

        function test981_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test981: " + test981());

function test982() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test982_run(o, a, a2));

    function test982_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                changeToEs5Array_int32(a);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test982: " + test982());

function test983() {
    var o = {
        a: [ 1.1, 2.1 ]
    };
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test983_run(o, a, a2));

    function test983_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        changeToEs5Array_int32(a);
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test983: " + test983());

function test984() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test984_run(o, a, a2));

    function test984_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += a[-1];
        }
        return sum;
    }
}
echo("test984: " + test984());

function test985() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test985_run(o, a, a2));

    function test985_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test985: " + test985());

function test986() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test986_run(o, a, a2));

    function test986_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test986: " + test986());

function test987() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test987_run(o, a, a2));

    function test987_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test987_access(o, a, i3);
                    }
                }
            }
            sum += test987_access(o, a, i0);
        }

        function test987_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test987: " + test987());

function test988() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test988_run(o, a, a2));

    function test988_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += a[0];
                }
                sum += a[0];
            }
        }
        return sum;
    }
}
echo("test988: " + test988());

function test989() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test989_run(o, a, a2));

    function test989_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test989: " + test989());

function test990() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test990_run(o, a, a2));

    function test990_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test990_access(o, a, i0);
        }

        function test990_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test990: " + test990());

function test991() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test991_run(o, a, a2));

    function test991_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test991_access(o, a, i1);
            }
            a = a2;
            sum += test991_access(o, a, i0);
        }

        function test991_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test991: " + test991());

function test992() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test992_run(o, a, a2));

    function test992_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[i1];
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test992: " + test992());

function test993() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test993_run(o, a, a2));

    function test993_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += a[i1];
            }
            a = a2;
            sum += a[i0];
        }
        return sum;
    }
}
echo("test993: " + test993());

function test994() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test994_run(o, a, a2));

    function test994_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += a[-1];
            }
            sum += a[-1];
        }
        return sum;
    }
}
echo("test994: " + test994());

function test995() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test995_run(o, a, a2));

    function test995_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            a = a2;
            sum += a[-1];
        }
        return sum;
    }
}
echo("test995: " + test995());

function test996() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test996_run(o, a, a2));

    function test996_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test996_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test996_access(o, a, i0);
        }

        function test996_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test996: " + test996());

function test997() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test997_run(o, a, a2));

    function test997_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test997_access(o, a, i3);
                    }
                }
            }
            sum += test997_access(o, a, i0);
        }

        function test997_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test997: " + test997());

function test998() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test998_run(o, a, a2));

    function test998_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test998_access(o, a, i2);
                }
                sum += test998_access(o, a, i1);
            }
            a = a2;
        }

        function test998_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test998: " + test998());

function test999() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test999_run(o, a, a2));

    function test999_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test999_access(o, a, i2);
                }
                a = a2;
                sum += test999_access(o, a, i1);
            }
        }

        function test999_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test999: " + test999());

function test1000() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1000_run(o, a, a2));

    function test1000_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += a[-1];
                }
                sum += a[-1];
            }
        }
        return sum;
    }
}
echo("test1000: " + test1000());

function test1001() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1001_run(o, a, a2));

    function test1001_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[-1];
                    }
                }
            }
            a = a2;
            sum += a[-1];
        }
        return sum;
    }
}
echo("test1001: " + test1001());

function test1002() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1002_run(o, a, a2));

    function test1002_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
                a = a2;
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test1002: " + test1002());

function test1003() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1003_run(o, a, a2));

    function test1003_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += a[0];
                    }
                }
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test1003: " + test1003());

function test1004() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1004_run(o, a, a2));

    function test1004_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            someCall(a);
            sum += test1004_access(o, a, i0);
        }

        function test1004_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test1004: " + test1004());

function test1005() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1005_run(o, a, a2));

    function test1005_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1005_access(o, a, i1);
            }
            someCall(a);
            sum += test1005_access(o, a, i0);
        }

        function test1005_access(o, a, i) {
            return a[i];
        }
        return sum;
    }
}
echo("test1005: " + test1005());

function test1006() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1006_run(o, a, a2));

    function test1006_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += test1006_access(o, a, i1);
            }
            sum += test1006_access(o, a, i0);
        }

        function test1006_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test1006: " + test1006());

function test1007() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1007_run(o, a, a2));

    function test1007_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1007_access(o, a, i1);
            }
            someCall(a);
            sum += test1007_access(o, a, i0);
        }

        function test1007_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test1007: " + test1007());

function test1008() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1008_run(o, a, a2));

    function test1008_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += a[0];
            }
            sum += a[0];
        }
        return sum;
    }
}
echo("test1008: " + test1008());

function test1009() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1009_run(o, a, a2));

    function test1009_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[0];
                    }
                }
            }
            someCall(a);
            sum += a[0];
        }
        return sum;
    }
}
echo("test1009: " + test1009());

function test1010() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1010_run(o, a, a2));

    function test1010_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
                someCall(a);
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test1010: " + test1010());

function test1011() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1011_run(o, a, a2));

    function test1011_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test1011: " + test1011());

function test1012() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1012_run(o, a, a2));

    function test1012_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1012_access(o, a, i2);
                }
                sum += test1012_access(o, a, i1);
            }
            someCall(a);
        }

        function test1012_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test1012: " + test1012());

function test1013() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1013_run(o, a, a2));

    function test1013_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1013_access(o, a, i2);
                }
                someCall(a);
                sum += test1013_access(o, a, i1);
            }
        }

        function test1013_access(o, a, i) {
            return a[-1];
        }
        return sum;
    }
}
echo("test1013: " + test1013());

function test1014() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1014_run(o, a, a2));

    function test1014_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                    }
                    sum += test1014_access(o, a, i2);
                }
                sum += test1014_access(o, a, i1);
            }
        }

        function test1014_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test1014: " + test1014());

function test1015() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1015_run(o, a, a2));

    function test1015_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1015_access(o, a, i3);
                    }
                }
            }
            someCall(a);
            sum += test1015_access(o, a, i0);
        }

        function test1015_access(o, a, i) {
            return a[0];
        }
        return sum;
    }
}
echo("test1015: " + test1015());

function test1016() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1016_run(o, a, a2));

    function test1016_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += a[i3];
                    }
                }
                someCall(a);
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test1016: " + test1016());

function test1017() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1017_run(o, a, a2));

    function test1017_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += a[i3];
                    }
                }
            }
            sum += a[i0];
        }
        return sum;
    }
}
echo("test1017: " + test1017());

function test1018() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1018_run(o, a, a2));

    function test1018_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1018: " + test1018());

function test1019() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1019_run(o, a, a2));

    function test1019_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1019: " + test1019());

function test1020() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1020_run(o, a, a2));

    function test1020_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test1020: " + test1020());

function test1021() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1021_run(o, a, a2));

    function test1021_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1021_access(o, a, i3);
                    }
                }
            }
            sum += test1021_access(o, a, i0);
        }

        function test1021_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1021: " + test1021());

function test1022() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1022_run(o, a, a2));

    function test1022_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (a[i2] = -a[i2] - 1, a[i2]);
                }
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
        }
        return sum;
    }
}
echo("test1022: " + test1022());

function test1023() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1023_run(o, a, a2));

    function test1023_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1023: " + test1023());

function test1024() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1024_run(o, a, a2));

    function test1024_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test1024_access(o, a, i0);
        }

        function test1024_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1024: " + test1024());

function test1025() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1025_run(o, a, a2));

    function test1025_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1025_access(o, a, i1);
            }
            a = a2;
            sum += test1025_access(o, a, i0);
        }

        function test1025_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1025: " + test1025());

function test1026() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1026_run(o, a, a2));

    function test1026_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1026: " + test1026());

function test1027() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1027_run(o, a, a2));

    function test1027_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (a[-1] = -a[-1] - 1, a[-1]);
            }
            a = a2;
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1027: " + test1027());

function test1028() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1028_run(o, a, a2));

    function test1028_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (a[0] = -a[0] - 1, a[0]);
            }
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1028: " + test1028());

function test1029() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1029_run(o, a, a2));

    function test1029_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            a = a2;
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1029: " + test1029());

function test1030() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1030_run(o, a, a2));

    function test1030_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1030_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test1030_access(o, a, i0);
        }

        function test1030_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1030: " + test1030());

function test1031() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1031_run(o, a, a2));

    function test1031_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test1031_access(o, a, i3);
                    }
                }
            }
            sum += test1031_access(o, a, i0);
        }

        function test1031_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1031: " + test1031());

function test1032() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1032_run(o, a, a2));

    function test1032_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1032_access(o, a, i2);
                }
                sum += test1032_access(o, a, i1);
            }
            a = a2;
        }

        function test1032_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1032: " + test1032());

function test1033() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1033_run(o, a, a2));

    function test1033_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1033_access(o, a, i2);
                }
                a = a2;
                sum += test1033_access(o, a, i1);
            }
        }

        function test1033_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1033: " + test1033());

function test1034() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1034_run(o, a, a2));

    function test1034_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (a[0] = -a[0] - 1, a[0]);
                }
                sum += (a[0] = -a[0] - 1, a[0]);
            }
        }
        return sum;
    }
}
echo("test1034: " + test1034());

function test1035() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1035_run(o, a, a2));

    function test1035_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[0] = -a[0] - 1, a[0]);
                    }
                }
            }
            a = a2;
            sum += (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1035: " + test1035());

function test1036() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1036_run(o, a, a2));

    function test1036_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
                a = a2;
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test1036: " + test1036());

function test1037() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1037_run(o, a, a2));

    function test1037_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test1037: " + test1037());

function test1038() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1038_run(o, a, a2));

    function test1038_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            someCall(a);
            sum += test1038_access(o, a, i0);
        }

        function test1038_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1038: " + test1038());

function test1039() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1039_run(o, a, a2));

    function test1039_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1039_access(o, a, i1);
            }
            someCall(a);
            sum += test1039_access(o, a, i0);
        }

        function test1039_access(o, a, i) {
            return (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1039: " + test1039());

function test1040() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1040_run(o, a, a2));

    function test1040_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += test1040_access(o, a, i1);
            }
            sum += test1040_access(o, a, i0);
        }

        function test1040_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1040: " + test1040());

function test1041() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1041_run(o, a, a2));

    function test1041_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1041_access(o, a, i1);
            }
            someCall(a);
            sum += test1041_access(o, a, i0);
        }

        function test1041_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1041: " + test1041());

function test1042() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1042_run(o, a, a2));

    function test1042_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += (a[i1] = -a[i1] - 1, a[i1]);
            }
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test1042: " + test1042());

function test1043() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1043_run(o, a, a2));

    function test1043_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[i3] = -a[i3] - 1, a[i3]);
                    }
                }
            }
            someCall(a);
            sum += (a[i0] = -a[i0] - 1, a[i0]);
        }
        return sum;
    }
}
echo("test1043: " + test1043());

function test1044() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1044_run(o, a, a2));

    function test1044_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
                someCall(a);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1044: " + test1044());

function test1045() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1045_run(o, a, a2));

    function test1045_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1045: " + test1045());

function test1046() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1046_run(o, a, a2));

    function test1046_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1046_access(o, a, i2);
                }
                sum += test1046_access(o, a, i1);
            }
            someCall(a);
        }

        function test1046_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1046: " + test1046());

function test1047() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1047_run(o, a, a2));

    function test1047_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1047_access(o, a, i2);
                }
                someCall(a);
                sum += test1047_access(o, a, i1);
            }
        }

        function test1047_access(o, a, i) {
            return (a[0] = -a[0] - 1, a[0]);
        }
        return sum;
    }
}
echo("test1047: " + test1047());

function test1048() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1048_run(o, a, a2));

    function test1048_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                    }
                    sum += test1048_access(o, a, i2);
                }
                sum += test1048_access(o, a, i1);
            }
        }

        function test1048_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1048: " + test1048());

function test1049() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1049_run(o, a, a2));

    function test1049_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1049_access(o, a, i3);
                    }
                }
            }
            someCall(a);
            sum += test1049_access(o, a, i0);
        }

        function test1049_access(o, a, i) {
            return (a[i] = -a[i] - 1, a[i]);
        }
        return sum;
    }
}
echo("test1049: " + test1049());

function test1050() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1050_run(o, a, a2));

    function test1050_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
                someCall(a);
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1050: " + test1050());

function test1051() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1051_run(o, a, a2));

    function test1051_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += (a[-1] = -a[-1] - 1, a[-1]);
                    }
                }
            }
            sum += (a[-1] = -a[-1] - 1, a[-1]);
        }
        return sum;
    }
}
echo("test1051: " + test1051());

function test1052() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1052_run(o, a, a2));

    function test1052_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test1052: " + test1052());

function test1053() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1053_run(o, a, a2));

    function test1053_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test1053: " + test1053());

function test1054() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1054_run(o, a, a2));

    function test1054_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test1054: " + test1054());

function test1055() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1055_run(o, a, a2));

    function test1055_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1055_access(o, a, i3);
                    }
                }
            }
            sum += test1055_access(o, a, i0);
        }

        function test1055_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test1055: " + test1055());

function test1056() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1056_run(o, a, a2));

    function test1056_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += o.a[-1];
                }
                sum += o.a[-1];
            }
        }
        return sum;
    }
}
echo("test1056: " + test1056());

function test1057() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1057_run(o, a, a2));

    function test1057_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1057: " + test1057());

function test1058() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1058_run(o, a, a2));

    function test1058_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test1058_access(o, a, i0);
        }

        function test1058_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1058: " + test1058());

function test1059() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1059_run(o, a, a2));

    function test1059_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1059_access(o, a, i1);
            }
            a = a2;
            sum += test1059_access(o, a, i0);
        }

        function test1059_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1059: " + test1059());

function test1060() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1060_run(o, a, a2));

    function test1060_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[0];
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1060: " + test1060());

function test1061() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1061_run(o, a, a2));

    function test1061_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += o.a[0];
            }
            a = a2;
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1061: " + test1061());

function test1062() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1062_run(o, a, a2));

    function test1062_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += o.a[i1];
            }
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test1062: " + test1062());

function test1063() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1063_run(o, a, a2));

    function test1063_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            a = a2;
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test1063: " + test1063());

function test1064() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1064_run(o, a, a2));

    function test1064_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1064_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test1064_access(o, a, i0);
        }

        function test1064_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1064: " + test1064());

function test1065() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1065_run(o, a, a2));

    function test1065_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test1065_access(o, a, i3);
                    }
                }
            }
            sum += test1065_access(o, a, i0);
        }

        function test1065_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1065: " + test1065());

function test1066() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1066_run(o, a, a2));

    function test1066_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1066_access(o, a, i2);
                }
                sum += test1066_access(o, a, i1);
            }
            a = a2;
        }

        function test1066_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test1066: " + test1066());

function test1067() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1067_run(o, a, a2));

    function test1067_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1067_access(o, a, i2);
                }
                a = a2;
                sum += test1067_access(o, a, i1);
            }
        }

        function test1067_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test1067: " + test1067());

function test1068() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1068_run(o, a, a2));

    function test1068_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += o.a[i2];
                }
                sum += o.a[i1];
            }
        }
        return sum;
    }
}
echo("test1068: " + test1068());

function test1069() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1069_run(o, a, a2));

    function test1069_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[i3];
                    }
                }
            }
            a = a2;
            sum += o.a[i0];
        }
        return sum;
    }
}
echo("test1069: " + test1069());

function test1070() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1070_run(o, a, a2));

    function test1070_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
                a = a2;
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test1070: " + test1070());

function test1071() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1071_run(o, a, a2));

    function test1071_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += o.a[-1];
                    }
                }
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test1071: " + test1071());

function test1072() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1072_run(o, a, a2));

    function test1072_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            someCall(a);
            sum += test1072_access(o, a, i0);
        }

        function test1072_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test1072: " + test1072());

function test1073() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1073_run(o, a, a2));

    function test1073_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1073_access(o, a, i1);
            }
            someCall(a);
            sum += test1073_access(o, a, i0);
        }

        function test1073_access(o, a, i) {
            return o.a[0];
        }
        return sum;
    }
}
echo("test1073: " + test1073());

function test1074() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1074_run(o, a, a2));

    function test1074_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += test1074_access(o, a, i1);
            }
            sum += test1074_access(o, a, i0);
        }

        function test1074_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test1074: " + test1074());

function test1075() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1075_run(o, a, a2));

    function test1075_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1075_access(o, a, i1);
            }
            someCall(a);
            sum += test1075_access(o, a, i0);
        }

        function test1075_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test1075: " + test1075());

function test1076() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1076_run(o, a, a2));

    function test1076_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += o.a[-1];
            }
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test1076: " + test1076());

function test1077() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1077_run(o, a, a2));

    function test1077_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[-1];
                    }
                }
            }
            someCall(a);
            sum += o.a[-1];
        }
        return sum;
    }
}
echo("test1077: " + test1077());

function test1078() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1078_run(o, a, a2));

    function test1078_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
                someCall(a);
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1078: " + test1078());

function test1079() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1079_run(o, a, a2));

    function test1079_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1079: " + test1079());

function test1080() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1080_run(o, a, a2));

    function test1080_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1080_access(o, a, i2);
                }
                sum += test1080_access(o, a, i1);
            }
            someCall(a);
        }

        function test1080_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test1080: " + test1080());

function test1081() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1081_run(o, a, a2));

    function test1081_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1081_access(o, a, i2);
                }
                someCall(a);
                sum += test1081_access(o, a, i1);
            }
        }

        function test1081_access(o, a, i) {
            return o.a[i];
        }
        return sum;
    }
}
echo("test1081: " + test1081());

function test1082() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1082_run(o, a, a2));

    function test1082_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                    }
                    sum += test1082_access(o, a, i2);
                }
                sum += test1082_access(o, a, i1);
            }
        }

        function test1082_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1082: " + test1082());

function test1083() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1083_run(o, a, a2));

    function test1083_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1083_access(o, a, i3);
                    }
                }
            }
            someCall(a);
            sum += test1083_access(o, a, i0);
        }

        function test1083_access(o, a, i) {
            return o.a[-1];
        }
        return sum;
    }
}
echo("test1083: " + test1083());

function test1084() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1084_run(o, a, a2));

    function test1084_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += o.a[0];
                    }
                }
                someCall(a);
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1084: " + test1084());

function test1085() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1085_run(o, a, a2));

    function test1085_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += o.a[0];
                    }
                }
            }
            sum += o.a[0];
        }
        return sum;
    }
}
echo("test1085: " + test1085());

function test1086() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1086_run(o, a, a2));

    function test1086_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1086: " + test1086());

function test1087() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1087_run(o, a, a2));

    function test1087_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1087: " + test1087());

function test1088() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1088_run(o, a, a2));

    function test1088_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1088: " + test1088());

function test1089() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1089_run(o, a, a2));

    function test1089_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1089_access(o, a, i3);
                    }
                }
            }
            sum += test1089_access(o, a, i0);
        }

        function test1089_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test1089: " + test1089());

function test1090() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1090_run(o, a, a2));

    function test1090_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                }
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
        }
        return sum;
    }
}
echo("test1090: " + test1090());

function test1091() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1091_run(o, a, a2));

    function test1091_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1091: " + test1091());

function test1092() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1092_run(o, a, a2));

    function test1092_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            a = a2;
            sum += test1092_access(o, a, i0);
        }

        function test1092_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1092: " + test1092());

function test1093() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1093_run(o, a, a2));

    function test1093_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1093_access(o, a, i1);
            }
            a = a2;
            sum += test1093_access(o, a, i0);
        }

        function test1093_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1093: " + test1093());

function test1094() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1094_run(o, a, a2));

    function test1094_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1094: " + test1094());

function test1095() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1095_run(o, a, a2));

    function test1095_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += (o.a[i1] = -o.a[i1] - 1, o.a[i1]);
            }
            a = a2;
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1095: " + test1095());

function test1096() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1096_run(o, a, a2));

    function test1096_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                a = a2;
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1096: " + test1096());

function test1097() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1097_run(o, a, a2));

    function test1097_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1097: " + test1097());

function test1098() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1098_run(o, a, a2));

    function test1098_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1098_access(o, a, i3);
                    }
                }
                a = a2;
            }
            sum += test1098_access(o, a, i0);
        }

        function test1098_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1098: " + test1098());

function test1099() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1099_run(o, a, a2));

    function test1099_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += test1099_access(o, a, i3);
                    }
                }
            }
            sum += test1099_access(o, a, i0);
        }

        function test1099_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1099: " + test1099());

function test1100() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1100_run(o, a, a2));

    function test1100_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1100_access(o, a, i2);
                }
                sum += test1100_access(o, a, i1);
            }
            a = a2;
        }

        function test1100_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test1100: " + test1100());

function test1101() {
    "use strict";

    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1101_run(o, a, a2));

    function test1101_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1101_access(o, a, i2);
                }
                a = a2;
                sum += test1101_access(o, a, i1);
            }
        }

        function test1101_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test1101: " + test1101());

function test1102() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1102_run(o, a, a2));

    function test1102_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                    }
                    sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                }
                sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
            }
        }
        return sum;
    }
}
echo("test1102: " + test1102());

function test1103() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1103_run(o, a, a2));

    function test1103_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
                    }
                }
            }
            a = a2;
            sum += (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1103: " + test1103());

function test1104() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1104_run(o, a, a2));

    function test1104_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
                a = a2;
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1104: " + test1104());

function test1105() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1105_run(o, a, a2));

    function test1105_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        a = a2;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1105: " + test1105());

function test1106() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1106_run(o, a, a2));

    function test1106_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            someCall(a);
            sum += test1106_access(o, a, i0);
        }

        function test1106_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test1106: " + test1106());

function test1107() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1107_run(o, a, a2));

    function test1107_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1107_access(o, a, i1);
            }
            someCall(a);
            sum += test1107_access(o, a, i0);
        }

        function test1107_access(o, a, i) {
            return (o.a[i] = -o.a[i] - 1, o.a[i]);
        }
        return sum;
    }
}
echo("test1107: " + test1107());

function test1108() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1108_run(o, a, a2));

    function test1108_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += test1108_access(o, a, i1);
            }
            sum += test1108_access(o, a, i0);
        }

        function test1108_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1108: " + test1108());

function test1109() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1109_run(o, a, a2));

    function test1109_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                sum += test1109_access(o, a, i1);
            }
            someCall(a);
            sum += test1109_access(o, a, i0);
        }

        function test1109_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1109: " + test1109());

function test1110() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1110_run(o, a, a2));

    function test1110_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                someCall(a);
                sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
            }
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1110: " + test1110());

function test1111() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1111_run(o, a, a2));

    function test1111_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
                    }
                }
            }
            someCall(a);
            sum += (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1111: " + test1111());

function test1112() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1112_run(o, a, a2));

    function test1112_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
                someCall(a);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1112: " + test1112());

function test1113() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1113_run(o, a, a2));

    function test1113_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1113: " + test1113());

function test1114() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1114_run(o, a, a2));

    function test1114_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1114_access(o, a, i2);
                }
                sum += test1114_access(o, a, i1);
            }
            someCall(a);
        }

        function test1114_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1114: " + test1114());

function test1115() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1115_run(o, a, a2));

    function test1115_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                    }
                    sum += test1115_access(o, a, i2);
                }
                someCall(a);
                sum += test1115_access(o, a, i1);
            }
        }

        function test1115_access(o, a, i) {
            return (o.a[-1] = -o.a[-1] - 1, o.a[-1]);
        }
        return sum;
    }
}
echo("test1115: " + test1115());

function test1116() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1116_run(o, a, a2));

    function test1116_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                    }
                    sum += test1116_access(o, a, i2);
                }
                sum += test1116_access(o, a, i1);
            }
        }

        function test1116_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1116: " + test1116());

function test1117() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1117_run(o, a, a2));

    function test1117_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < 2; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += test1117_access(o, a, i3);
                    }
                }
            }
            someCall(a);
            sum += test1117_access(o, a, i0);
        }

        function test1117_access(o, a, i) {
            return (o.a[0] = -o.a[0] - 1, o.a[0]);
        }
        return sum;
    }
}
echo("test1117: " + test1117());

function test1118() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1118_run(o, a, a2));

    function test1118_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < 2; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < a.length; ++i3) {
                        sum += i3;
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
                someCall(a);
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1118: " + test1118());

function test1119() {
    var o = { a: new Int32Array(2) };
    for(var i = 0; i < 2; ++i)
        o.a[i] = i + 1;
    var a = o.a;
    a[-1] = a[0];
    var a2 = { length: a.length };
    for(var i = -1; i < a.length; ++i)
        a2[i] = -a[i];
    return toSafeInt(test1119_run(o, a, a2));

    function test1119_run(o, a, a2) {
        var sum = 0;
        for(var i0 = 0; i0 < a.length; ++i0) {
            sum += i0;
            for(var i1 = 0; i1 < a.length; ++i1) {
                sum += i1;
                for(var i2 = 0; i2 < a.length; ++i2) {
                    sum += i2;
                    for(var i3 = 0; i3 < 2; ++i3) {
                        sum += i3;
                        someCall(a);
                        sum += (o.a[i3] = -o.a[i3] - 1, o.a[i3]);
                    }
                }
            }
            sum += (o.a[i0] = -o.a[i0] - 1, o.a[i0]);
        }
        return sum;
    }
}
echo("test1119: " + test1119());

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function changeToEs5Array_object(a) {
    try {
        Object.defineProperty(a, 0, { configurable: true, writable: false, enumerable: true, value: { p: -a[0].p - 1 } });
    } catch(ex) {
        echo("Unexpected exception - " + ex.name + ": " + ex.message);
    }
}

function changeToEs5Array_int32(a) {
    try {
        Object.defineProperty(a, 0, { configurable: true, writable: false, enumerable: true, value: -a[0] - 1 });
    } catch(ex) {
        echo("Unexpected exception - " + ex.name + ": " + ex.message);
    }
}

function someCall(a) {
    try {
        a.someProperty = 0;
    } catch(ex) {
        echo("Unexpected exception - " + ex.name + ": " + ex.message);
    }
}

function toSafeInt(n) {
    return Math.round(Math.round(n * 10) / 10);
}

function echo() {
    var doEcho;
    if(this.WScript)
        doEcho = function(s) { this.WScript.Echo(s); };
    else if(this.document)
        doEcho = function(s) {
            var div = this.document.createElement("div");
            div.innerText = s;
            this.document.body.appendChild(div);
        };
    else
        doEcho = function(s) { this.print(s); };
    echo = function() {
        var s = "";
        for(var i = 0; i < arguments.length; ++i)
            s += arguments[i];
        doEcho(s);
    };
    echo.apply(this, arguments);
}
